`

jfreechart绘图工具类

    博客分类:
  • j2ee
阅读更多

基于jfreechart1.x+++

package com.wdh.util;
 
import java.awt.BasicStroke;
import java.awt.Color;
import java.awt.Font;
import java.awt.RenderingHints;
import java.io.File;
import java.io.FileOutputStream;
import java.text.DecimalFormat;
import java.text.NumberFormat;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Locale;
 
import org.apache.commons.logging.Log;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.annotations.XYBoxAnnotation;
import org.jfree.chart.annotations.XYTextAnnotation;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.labels.ItemLabelAnchor;
import org.jfree.chart.labels.ItemLabelPosition;
import org.jfree.chart.labels.StandardCategoryItemLabelGenerator;
import org.jfree.chart.labels.StandardPieSectionLabelGenerator;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PiePlot3D;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.plot.XYPlot;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.renderer.category.LineAndShapeRenderer;
import org.jfree.chart.renderer.xy.XYLineAndShapeRenderer;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.data.general.PieDataset;
import org.jfree.data.xy.DefaultXYDataset;
import org.jfree.data.xy.XYDataset;
import org.jfree.ui.TextAnchor;
 
public class ChartUtil {
 
public static String createPieChart3D(String title, PieDataset dataset,
String path) {
JFreeChart chart = ChartFactory.createPieChart3D(title, dataset, true,
true, Locale.CHINA);
 
// 使下面的说明标签字体清晰,类似于去锯齿的效果
chart.getRenderingHints().put(RenderingHints.KEY_TEXT_ANTIALIASING,
RenderingHints.VALUE_TEXT_ANTIALIAS_OFF);
chart.setTextAntiAlias(false);
// 图片背景色
chart.setBackgroundPaint(Color.white);
 
// 设置图标题的字体重新设置title(否组有些版本Title会出现乱码)
chart.getTitle().setFont((new Font("隶书", Font.CENTER_BASELINE, 20)));
 
// 设置图例(Legend)上的文字(//底部的字体)
chart.getLegend().setItemFont(new Font("隶书", Font.CENTER_BASELINE, 15));
 
PiePlot3D plot = (PiePlot3D) chart.getPlot();
// 图片中显示百分比:默认方式
 
// 指定饼图轮廓线的颜色
plot.setBaseSectionOutlinePaint(Color.BLACK);
plot.setBaseSectionPaint(Color.BLACK);
 
// 设置无数据时的信息
plot.setNoDataMessage("无对应的数据,请重新查询。");
 
// 设置无数据时的信息显示颜色
plot.setNoDataMessagePaint(Color.red);
 
// 图片中显示百分比:自定义方式,{0} 表示选项, {1} 表示数值, {2} 表示所占比例 ,小数点后两位
plot.setLabelGenerator(new StandardPieSectionLabelGenerator(
"{0}={1}({2})", NumberFormat.getNumberInstance(),
new DecimalFormat("0.00%")));
// 图例显示百分比:自定义方式, {0} 表示选项, {1} 表示数值, {2} 表示所占比例
plot.setLegendLabelGenerator(new StandardPieSectionLabelGenerator(
"{0}({2})"));
 
plot.setLabelFont(new Font("隶书", Font.TRUETYPE_FONT, 12));
 
// 指定图片的透明度(0.0-1.0)
plot.setForegroundAlpha(0.65f);
// 指定显示的饼图上圆形(false)还椭圆形(true)
plot.setCircular(false, true);
 
// 设置第一个 饼块section 的开始位置,默认是12点钟方向
plot.setStartAngle(90);
 
// 设置分饼颜色(不设置它会自己设置)
// plot.setSectionPaint(pieKeys[0], new Color(244, 194, 144));
// plot.setSectionPaint(pieKeys[1], new Color(144, 233, 144));
 
// 把饼图生成图片
String chartName = "";
FileOutputStream fos_jpg = null;
try {
// 文件夹不存在则创建
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
chartName = path + File.separator + new Date().getTime() + ".png";
fos_jpg = new FileOutputStream(chartName);
// 高宽的设置影响椭圆饼图的形状
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 700, 400);
 
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();// http://1wangxiaobo@163.com
} catch (Exception e) {
e.printStackTrace();
}
return chartName;
}
}
 
public static String createLineChart(String title, String domainAxisName,
String rangeAxisName, DefaultCategoryDataset ds, String path) {
JFreeChart chart = ChartFactory.createLineChart3D(title, domainAxisName,
rangeAxisName, ds, PlotOrientation.VERTICAL, // 绘制方向
true, // 显示图例
true, // 采用标准生成器
false // 是否生成超链接
);
chart.getTitle().setFont((new Font("隶书", Font.CENTER_BASELINE, 20))); // 设置标题字体
chart.getLegend().setItemFont(new Font("隶书", Font.CENTER_BASELINE, 15));// 设置图例类别字体
// 获取绘图区对象
CategoryPlot plot = chart.getCategoryPlot();
plot.setBackgroundPaint(Color.LIGHT_GRAY); // 设置绘图区背景色
plot.setRangeGridlinePaint(Color.WHITE); // 设置水平方向背景线颜色
plot.setRangeGridlinesVisible(true);// 设置是否显示水平方向背景线,默认值为true
plot.setDomainGridlinePaint(Color.WHITE); // 设置垂直方向背景线颜色
plot.setDomainGridlinesVisible(true); // 设置是否显示垂直方向背景线,默认值为false
 
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabelFont(new Font("隶书", Font.CENTER_BASELINE, 15)); // 设置横轴字体
// domainAxis.setTickLabelFont(font);// 设置坐标轴标尺值字体
domainAxis.setLowerMargin(0.01);// 左边距 边框距离
domainAxis.setUpperMargin(0.06);// 右边距 边框距离,防止最后边的一个数据靠近了坐标轴。
domainAxis.setMaximumCategoryLabelLines(2);
 
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(new Font("隶书", Font.CENTER_BASELINE, 15));
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());// Y轴显示整数
rangeAxis.setAutoRangeMinimumSize(1); // 最小跨度
rangeAxis.setUpperMargin(0.18);// 上边距,防止最大的一个数据靠近了坐标轴。
rangeAxis.setLowerBound(0); // 最小值显示0
rangeAxis.setAutoRange(false); // 不自动分配Y轴数据
rangeAxis.setTickMarkStroke(new BasicStroke(1.6f)); // 设置坐标标记大小
rangeAxis.setTickMarkPaint(Color.BLACK); // 设置坐标标记颜色
 
// 获取折线对象
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot
.getRenderer();
BasicStroke realLine = new BasicStroke(1.8f); // 设置实线
// 设置虚线
float dashes[] = { 5.0f };
BasicStroke brokenLine = new BasicStroke(2.2f, // 线条粗细
BasicStroke.CAP_ROUND, // 端点风格
BasicStroke.JOIN_ROUND, // 折点风格
8f, dashes, 0.6f);
 
plot.setNoDataMessage("无对应的数据,请重新查询。");
plot.setNoDataMessagePaint(Color.RED);// 字体颜色
// 把饼图生成图片
String chartName = "";
FileOutputStream fos_jpg = null;
try {
// 文件夹不存在则创建
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
chartName = path + File.separator + new Date().getTime() + ".png";
fos_jpg = new FileOutputStream(chartName);
// 高宽的设置影响椭圆饼图的形状
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 700, 400);
 
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();// http://1wangxiaobo@163.com
} catch (Exception e) {
e.printStackTrace();
}
return chartName;
}
}
 
public static String createCategoryDataset(String title, String domainName,
String rangeName, DefaultCategoryDataset dataset, String path) {
JFreeChart chart = ChartFactory
.createBarChart(title, domainName, rangeName, dataset,
PlotOrientation.VERTICAL, true, true, false);
chart.getTitle().setFont((new Font("隶书", Font.CENTER_BASELINE, 20))); // 设置标题字体
CategoryPlot plot = chart.getCategoryPlot();// 获得图表区域对象
// 设置图表的纵轴和横轴org.jfree.chart.axis.CategoryAxis
CategoryAxis domainAxis = plot.getDomainAxis();
NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
TextTitle textTitle = chart.getTitle();
textTitle.setFont(new Font("黑体", Font.PLAIN, 20));
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
 
String chartName = "";
FileOutputStream fos_jpg = null;
try {
// 文件夹不存在则创建
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
chartName = path + File.separator + new Date().getTime() + ".png";
fos_jpg = new FileOutputStream(chartName);
// 高宽的设置影响椭圆饼图的形状
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 700, 400);
 
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();// http://1wangxiaobo@163.com
} catch (Exception e) {
e.printStackTrace();
}
return chartName;
}
}
 
public static String createBarChart(String title, String domainName,
String rangeName, CategoryDataset dataset, String path) {
JFreeChart chart = ChartFactory.createBarChart3D(title,domainName ,
rangeName, dataset, PlotOrientation.VERTICAL, true, true, false);
CategoryPlot plot = chart.getCategoryPlot();
chart.getTitle().setFont((new Font("隶书", Font.CENTER_BASELINE, 20))); // 设置标题字体
// 设置网格背景颜色
plot.setBackgroundPaint(Color.white);
// 设置网络竖线颜色
plot.setDomainGridlinePaint(Color.pink);
// 显示每个柱的数值,并修改该数字的字体属性
BarRenderer3D renderer = new BarRenderer3D();
renderer
.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
// 默认的数字显示在柱子中,通过以下两句调整数字的显示
// 注意,此句很关键,若无此句,那数字的显示会覆盖,给人数字没有显示出来的问题
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_LEFT));
renderer.setItemLabelAnchorOffset(10D);
// 设置每个地区所包含的平行柱的之间的距离
// renderer.setItemMargin(0.3);
plot.setRenderer(renderer);
 
// 设置位置
plot.setDomainAxisLocation(AxisLocation.TOP_OR_RIGHT);
// 将默认的左边的放到右方
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_RIGHT);
NumberAxis numberaxis = (NumberAxis) plot.getRangeAxis();
CategoryAxis domainAxis = plot.getDomainAxis();
// 图表标题
Font font = new Font("宋体", Font.BOLD, 16);
chart.setTitle(title); // 标题
 
// X轴乱码
// X轴坐标上的文字:
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
// X轴坐标标题
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
// Y轴坐标上的文字
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
// Y轴坐标标题
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
// 图表底部乱码
chart.getLegend().setItemFont(new Font("黑体", Font.PLAIN, 12));
String chartName = "";
FileOutputStream fos_jpg = null;
try {
// 文件夹不存在则创建
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
chartName = path + File.separator + new Date().getTime() + ".png";
fos_jpg = new FileOutputStream(chartName);
// 高宽的设置影响椭圆饼图的形状
ChartUtilities.writeChartAsPNG(fos_jpg, chart, 700, 400);
 
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();// http://1wangxiaobo@163.com
} catch (Exception e) {
e.printStackTrace();
}
return chartName;
}
}
public static String createPointChart(XYDataset xydataset,  String title, String domainName, String rangeName, String noDateMsg,  String path){
  
        JFreeChart jfreechart = ChartFactory.createScatterPlot(title,  
        domainName, rangeName, xydataset, PlotOrientation.VERTICAL, true, false,  
                false);  
        jfreechart.setBackgroundPaint(Color.white);  
        jfreechart.setBorderPaint(Color.GREEN);  
        jfreechart.setBorderStroke(new BasicStroke(1.5f));  
        jfreechart.getTitle().setFont((new Font("隶书", Font.CENTER_BASELINE, 20)));
        jfreechart.getLegend().setItemFont(new Font("隶书", Font.CENTER_BASELINE, 15));// 设置图例类别字体
        
        XYPlot xyplot = (XYPlot) jfreechart.getPlot();  
        xyplot.setNoDataMessage(noDateMsg);  
        xyplot.setNoDataMessageFont(new Font("隶书", Font.BOLD, 14));  
        //xyplot.setNoDataMessagePaint(new Color(87, 149, 117));  
  
        xyplot.setBackgroundPaint(new Color(255, 253, 246));  
        ValueAxis vaaxis = xyplot.getDomainAxis();  
        vaaxis.setAxisLineStroke(new BasicStroke(1.5f));  
  
        ValueAxis va = xyplot.getDomainAxis(0);  
        va.setAxisLineStroke(new BasicStroke(1.5f));  
  
        va.setAxisLineStroke(new BasicStroke(1.5f)); // 坐标轴粗细  
        va.setAxisLinePaint(new Color(215, 215, 215)); // 坐标轴颜色  
        xyplot.setOutlineStroke(new BasicStroke(1.5f)); // 边框粗细  
        va.setLabelPaint(new Color(10, 10, 10)); // 坐标轴标题颜色  
        va.setTickLabelPaint(new Color(102, 102, 102)); // 坐标轴标尺值颜色  
        ValueAxis axis = xyplot.getRangeAxis();  
        vaaxis.setLabelFont(new Font("隶书", Font.CENTER_BASELINE, 15));
        axis.setAxisLineStroke(new BasicStroke(1.5f));  
  
        XYLineAndShapeRenderer xylineandshaperenderer = (XYLineAndShapeRenderer) xyplot  
                .getRenderer();  
        xylineandshaperenderer.setSeriesOutlinePaint(0, Color.WHITE);  
        xylineandshaperenderer.setUseOutlinePaint(true);  
        NumberAxis numberaxis = (NumberAxis) xyplot.getDomainAxis();  
        numberaxis.setAutoRangeIncludesZero(false);  
        numberaxis.setTickMarkInsideLength(2.0F);  
        numberaxis.setTickMarkOutsideLength(0.0F);  
        numberaxis.setAxisLineStroke(new BasicStroke(1.5f));  
       // numberaxis.setUpperBound(maxpress); 最大值设置 
       // numberaxis.setLowerBound();最小值设置
        NumberAxis numberaxis1 = (NumberAxis) xyplot.getRangeAxis();  
        numberaxis1.setTickMarkInsideLength(2.0F);  
        numberaxis1.setTickMarkOutsideLength(0.0F);  
        numberaxis1.setUpperBound(150d);  
        numberaxis1.setLowerBound(35);  
        numberaxis1.setAxisLineStroke(new BasicStroke(1.5f));  
        numberaxis1.setLabelFont(new Font("隶书", Font.CENTER_BASELINE, 15));
  
        XYBoxAnnotation box = new XYBoxAnnotation(0, 0, 89, 59); //正常血压所在区域内边界  
        XYBoxAnnotation box1 = new XYBoxAnnotation(0, 0, 119, 79);//高血压前期所在区域内边界  
        XYBoxAnnotation box2 = new XYBoxAnnotation(0, 0, 139, 89);//高血压一期所在区域内边界  
        XYBoxAnnotation box3 = new XYBoxAnnotation(0, 0, 159, 99);//高血压二期所在区域内边界  
        XYTextAnnotation text1 = new XYTextAnnotation("nomal", 70, 62.5);//标识“正常”  
        XYTextAnnotation text = new XYTextAnnotation("fore", 70, 82.5);//“高血压前期”  
        XYTextAnnotation text2 = new XYTextAnnotation("one", 70, 91.5);//“高血压一期”  
        XYTextAnnotation text3 = new XYTextAnnotation("two", 70, 101.5);//“高血压二期”  
  
          
        //将上面的边界线条,说明文字加入到xyplot中。  
        xyplot.addAnnotation(box);  
        xyplot.addAnnotation(box1);  
        xyplot.addAnnotation(box2);  
        xyplot.addAnnotation(box3);  
  
        xyplot.addAnnotation(text);  
        xyplot.addAnnotation(text1);  
        xyplot.addAnnotation(text2);  
        xyplot.addAnnotation(text3);  
        String chartName = "";
FileOutputStream fos_jpg = null;
try {
// 文件夹不存在则创建
File file = new File(path);
if (!file.exists()) {
file.mkdirs();
}
chartName = path + File.separator + new Date().getTime() + ".png";
fos_jpg = new FileOutputStream(chartName);
ChartUtilities.writeChartAsPNG(fos_jpg, jfreechart, 700, 400);
 
} catch (Exception e) {
e.printStackTrace();
} finally {
try {
fos_jpg.close();// http://1wangxiaobo@163.com
} catch (Exception e) {
e.printStackTrace();
}
return chartName;
}
}
}

各种数据集格式说明:
3D饼图:
String[] keys = { "王晓博", "李冰", "牛根生", "李开复", "马云", "其它" };
 double[] data = { 60, 60, 55, 77, 80, 50 };
 DefaultPieDataset dataset = new DefaultPieDataset();
 for (int i = 0; i < keys.length; i++) {
  dataset.setValue(keys[i], data[i]);
 }
 
 
 
折线图:
      DefaultCategoryDataset ds = new DefaultCategoryDataset();  
ds.addValue(90, "温度", "2011-01-01");
ds.addValue(100, "温度", "2011-01-02");
ds.addValue(80, "温度", "2011-01-03");
ds.addValue(120, "温度", "2011-01-04");
ds.addValue(130, "湿度", "2011-01-01");
ds.addValue(100, "湿度", "2011-01-02");
ds.addValue(150, "湿度", "2011-01-03");
ds.addValue(140, "湿度", "2011-01-04");
柱状图:
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(100, "struts1.2", "张三");
dataset.addValue(200, "struts2.x", "张三");
dataset.addValue(300, "webwork", "张三");
dataset.addValue(400, "spring", "张三");
dataset.addValue(100, "struts1.2", "李四");
dataset.addValue(200, "struts2.x", "李四");
dataset.addValue(300, "webwork", "李四");
dataset.addValue(400, "spring", "李四");  //dataset.addValue(-20, "Ext JS", "Jan")负向坐标
散点图:
double[][] data1 = new double[2][5];
DefaultXYDataset xydataset = new DefaultXYDataset();  
data1[0][0] = 80;
data1[1][0] = 88;
data1[0][1] = 82;
data1[1][1] = 90;
data1[0][2] = 98;
data1[1][2] = 67;
data1[0][3] = 110;
data1[1][3] = 120;
data1[0][4] = 122;
data1[1][4] = 132;
xydataset.addSeries("温度", data1); 
 
 
 
条形图:
double[][] data = new double[][] { { 1310, 1220, 1110, 1000, 666 },
{ 720, 700, 680, 640, 777 }, { 1130, 1020, 980, 800, 888 },
{ 440, 400, 360, 300, 999 }, { 400, 400, 400, 400, 555 } };
String[] rowKeys = { "猪肉", "牛肉", "鸡肉", "鱼肉", "羊肉" };
String[] columnKeys = { "襄城", "樊城", "襄州", "东津", "鱼梁州" };
CategoryDataset dataset = DatasetUtilities.createCategoryDataset(
rowKeys, columnKeys, data);
分享到:
评论

相关推荐

    JFreechart教程与实例

    通过阅读本章,您可以了解动态图表、掌握JFreechart组件的制图方法、掌握制图对象、理解数据集合、掌握常用绘图区对象类型及关系、掌握坐标轴对象类型及关系、掌握图片渲染对象、了解JFreechart组件的内置JDBC。...

    JFreeChart绘图

    总结,JFreeChart作为Java开发者的得力工具,它的强大在于能够灵活地创建各种复杂图表,并提供高度定制化的能力,满足了在数据可视化领域的广泛需求。无论是简单的数据展示还是复杂的分析,JFreeChart都能提供优秀的...

    jfreechart类包

    它是JFreeChart的核心组成部分,为JFreeChart提供了基本的绘图功能和数据管理支持。版本0.9.6包含了一些性能优化和新特性,使得图表绘制更加灵活和高效。 3. **jfreechart-0.9.21.jar**: 这是JFreeChart的主要库...

    jfreechart--类说明

    9. **ChartUtilities**: 这个工具类提供了一些方便的方法,用于将图表保存为图片文件(如JPEG、PNG等)或者直接写入输出流,这在Web应用中尤其有用。 10. **Customization**: JFreeChart 允许高度定制,包括自定义...

    JFreeChart绘图包

    **JFreeChart绘图包详解** 在Java编程领域,数据可视化是一个至关重要的部分,它能够帮助开发者和用户直观地理解复杂的数据。JFreeChart库就是这样一款强大的工具,它提供了丰富的图表类型,支持创建高质量的2D图表...

    jfreechart绘图组件

    **JFreeChart 绘图组件详解** JFreeChart 是一个流行的、开源的 Java 图形库,它为开发者提供了丰富的图表绘制功能,适用于各种商业和科学应用。这个强大的工具能够帮助我们轻松地创建出复杂的报表图形,包括折线图...

    JFreeChart柱状图的类的封装

    在这个主题中,我们将深入探讨"JFreeChart柱状图的类的封装",了解如何利用这个库来创建柱状图以及相关的类和工具。 首先,JFreeChart的核心类之一是`CategoryPlot`,它是柱状图的基础。`CategoryPlot`负责管理类别...

    jfreechart

    "工具" 标签则表明 JFreeChart 是一种开发工具,有助于软件工程师在他们的项目中快速生成图表。 压缩包中的 "JFreeChart-API.chm" 文件是 JFreeChart 的 API 文档,通常包含了类、方法、接口的详细说明,是开发者...

    JFreeChart 1.0.9 开发文档

    为了方便开发者查看JFreeChart的API文档,可以使用Javadoc工具生成相应的文档。 #### 4. 使用JFreeChart **4.1 概览** 本章节概述了如何使用JFreeChart创建图表。 **4.2 创建第一个图表** 首先介绍如何使用...

    JAVA图表工具 jfreechart 源码加完整例子

    JFreeChart的核心是`ChartFactory`类,它提供了一系列静态方法来创建不同类型的图表。例如,`createBarChart()`用于创建柱状图,`createLineChart()`用于创建线图。每个图表由四个主要组件构成:主题(Theme)、数据...

    jfreechart英文版api

    Jfreechart_api文档是开发过程中必不可少的工具,它详尽地列出了JFreeChart的类、方法、属性等,帮助开发者理解并正确使用库的各个功能。通过API文档,你可以查找到创建不同图表的具体方法、数据集的创建与操作、...

    java--JFreeChartDemo

    此外,可能还包括其他辅助类,如数据模型类,用于构造数据集,或者自定义绘图类,用于扩展JFreeChart的功能。 JFreeChart的优点在于其灵活性和丰富的功能,允许开发者定制几乎每一个图表细节。同时,它支持多种输出...

    JFreeChart使用总结

    - `jcommon-1.0.15.jar`包含了一组有用的类集合,用于实现诸如文本工具类、用户界面类等功能。 3. **配置路径**: - **对于Application开发**:将上述三个文件复制到`%JAVA_HOME%\lib`目录,并在环境变量`...

    JFreeChart API 手册 CHM版本

    1. **图表(Chart)**: JFreeChart 的核心是 `Chart` 类,它包含了图表的所有信息,如标题、数据源、绘图区等。`Chart` 可以通过 `ChartFactory` 创建,也可以通过其他方式自定义。 2. **绘图区(Plot)**: 绘图区...

    JFreeChart生成饼图最简单demo.

    根据题目描述中的“需要两个jar包”,我们可以推测这两个jar包分别是`jfreechart.jar`和`jcommon.jar`,其中`jfreechart.jar`是主库,而`jcommon.jar`则是提供基础绘图支持的库。 ### 二、代码实现 #### 1. 创建...

    JfreeChart1.0.13

    它提供了通用的工具类,如颜色管理、数据处理、文本布局等,这些工具对JFreeChart的正常运行至关重要。 在实际应用中,使用JFreeChart通常会经历以下步骤: 1. **初始化**: 创建一个`ChartFactory`的实例,选择合适...

    JFreeChart API 中文文档

    JFreeChart API 包含多个主要的类和接口,如`ChartFactory`用于创建图表,`Chart`代表一个完整的图表,`Plot`控制图表的布局和绘图,`Dataset`存储图表数据,`Renderer`负责将数据渲染到图表上。 - **ChartFactory*...

    jfreechart中文文档和jar包

    开发者可以将这些jar文件添加到项目的类路径中,以便在代码中直接使用JFreeChart的功能。 总结起来,这个压缩包提供了全面的资源,帮助开发者利用JFreeChart创建图表,并结合JasperReport进行报表设计。中文文档...

    jfreechart-1.0.13-api

    开发者可以通过继承和重写现有的类,实现自定义的图表效果,比如自定义绘图策略、自定义工具提示等。 **7. 性能优化** 尽管 JFreeChart 能够处理大量数据,但在大数据场景下,性能优化仍然是关键。开发者可以通过...

    JFreeChart饼图、柱状图等

    JFreeChart库也支持自定义绘图,例如添加背景图、网格线、图例、标题等元素。这些元素的样式都可以通过ChartCustomizer类进行调整,以满足特定的设计需求。此外,JFreeChart还提供了图表动画功能,使数据的展示更加...

Global site tag (gtag.js) - Google Analytics