我们以折线图为例子
第一步,构建数据集
/**
* 获取数据集
* @return
*/
private CategoryDataset getDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(2.8, "冰箱", "1月");
dataset.addValue(4.2, "冰箱", "2月");
dataset.addValue(3.9, "冰箱", "3月");
dataset.addValue(3.8, "冰箱", "4月");
dataset.addValue(4.2, "冰箱", "5月");
dataset.addValue(3.9, "冰箱", "6月");
dataset.addValue(1.7, "冰箱", "7月");
dataset.addValue(4.2, "冰箱", "8月");
dataset.addValue(3.9, "冰箱", "9月");
dataset.addValue(2.5, "冰箱", "10月");
dataset.addValue(4.2, "冰箱", "11月");
dataset.addValue(3.9, "冰箱", "12月");
dataset.addValue(1.2, "彩电", "1月");
dataset.addValue(3.2, "彩电", "2月");
dataset.addValue(4.9, "彩电", "3月");
dataset.addValue(2.5, "彩电", "4月");
dataset.addValue(3.2, "彩电", "5月");
dataset.addValue(1.9, "彩电", "6月");
dataset.addValue(2.7, "彩电", "7月");
dataset.addValue(3.2, "彩电", "8月");
dataset.addValue(3.9, "彩电", "9月");
dataset.addValue(3.0, "彩电", "10月");
dataset.addValue(1.2, "彩电", "11月");
dataset.addValue(1.9, "彩电", "12月");
return dataset;
}
第二步,根据数据集构建折线图
private JFreeChart createChart() {
CategoryDataset dataset = getDataset();
//标题,x轴,y轴,数据集,图标方向,是否显示图例,是否生成工具,是否生成url
JFreeChart line = ChartFactory.createLineChart("折线图", "时间", "销售额(百万)", dataset, PlotOrientation.VERTICAL, true,
true, false);
line.setBackgroundPaint(new Color(200, 200, 255));
//设置标题文字
line.getTitle().setFont(new Font("黑体", Font.BOLD, 18));
//设置底部图例字体
line.getLegend().setItemFont(new Font("黑体", Font.BOLD, 12));
CategoryPlot plot = line.getCategoryPlot();
//网格线的颜色,就是与x轴平行的一条一条的虚线
plot.setRangeGridlinePaint(new Color(70, 70, 170));
//设置图区的背景色
//plot.setBackgroundPaint(new Color(255, 255, 255));
LineAndShapeRenderer renderer = (LineAndShapeRenderer) plot.getRenderer();
//设置第一个根线为蓝色加粗
renderer.setSeriesStroke(0, new BasicStroke(2.0f));
renderer.setSeriesPaint(0, new Color(0, 0, 255));
//设置第2根线为红色加粗
renderer.setSeriesStroke(1, new BasicStroke(2.0f));
renderer.setSeriesPaint(1, new Color(255, 0, 0));
//设置数据点可见
renderer.setBaseShapesVisible(true);
//显示数据点的值可见
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//获取x轴
CategoryAxis axis = plot.getDomainAxis();
//获取y轴
ValueAxis numberAxis = plot.getRangeAxis();
axis.setLabelFont(new Font("黑体", Font.BOLD, 12));
axis.setTickLabelFont(new Font("黑体", Font.BOLD, 12));
numberAxis.setTickLabelFont(new Font("黑体", Font.BOLD, 12));
numberAxis.setLabelFont(new Font("黑体", Font.BOLD, 12));
return line;
}
第3步,输出图片
//生成图片
private void createPng() {
JFreeChart jfreechart = createChart();
OutputStream os;
try {
os = new FileOutputStream("d:/line.png");
ChartUtilities.writeChartAsPNG(os, jfreechart, 800, 400);
os.close();
} catch (Exception e) {
e.printStackTrace();
}
}
注:附件是代码和支持jar包,包括,折线图,饼图,柱状图的例子
- 大小: 26.3 KB
分享到:
相关推荐
通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折线图。如果想生成普通效果的折线图,需要通过工厂类ChartFactory的createLineChart()方法获得JFreeChart类的实例;如果想生成3D效果的折线图...
视频详细讲解,需要的小伙伴自行网盘下载,链接见附件,永久有效。 1、课程简介 报表[forms for reporting to the higher organizations],就是向上级报告情况的表格。...l JfreeCharts l HighCharts l ECharts
JFreeChart中文API
jfreecharts资料在网上下载的 包括jar包
开发报表设计的必备第三方库文件,类似的还有JfreeCharts等,里面包含了数据填充的基本工具类,方便实用
JFreeChart中文API,非常实用的API,非常好用的 的
mendix-JFreeCharts 该软件包允许您通过生成各种图表来可视化应用程序中的数据。 它还使您能够查看pdf格式的图表以及数据。 #可用图表#多系列条形图折线图 #单系列环形图(饼形图的改编) #Contributing有关...
jfreechart-1.0.12-expermental.jar jar包
JFreeChat中文教程(入门篇),还有一些详解
JFreeChart的方法中文API,JFreeChart的方法中文API
jfreecharts使用的jcommon.jar的压缩包,用于图表制作
简单的jsp fusioncharts例子,界面比jfreecharts漂亮多了
jfreecharts api 文当是英文化的一个api开发帮助文档,里面有帮助来实现各种图形的操作接口说明;
不想使用jfreecharts的同学可以尝试一下这个纯js的图表制作框架,轻量级,附带一个使用demo,有兴趣的可以研究一下
JFreeApplet是JFreeCharts的包装,允许用户通过Java小程序显示JFreeCharts生成的图表。 尽管依赖于此项目,但该项目是独立于JFreeChart开发的。
主要为大家详细介绍了JFreeChart简单实现光滑曲线的绘制,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
CalClock一个基于摆动的时钟小部件,具有JCalendar和JFreeCharts集成。 PSA:一个项目,假设是否可以将编程逻辑转换为可视化映射,以弥合业务与开发人员理解之间的差距。 SuperBugKiller:一款名为“ Parasite ...
它利用了rithms的riot-api-java项目,可以在这里找到: : 我还使用jfreecharts创建视觉效果。 可以在这里找到源代码和文档: : rithms的文档可以在这里找到: : 可以在以下位置找到Riot API的文档: :
两个版本的Jfreechart Jar包