java做曲线图、柱状图数据统计

上传人:飞*** 文档编号:42914984 上传时间:2018-06-04 格式:DOC 页数:16 大小:150.50KB
返回 下载 相关 举报
java做曲线图、柱状图数据统计_第1页
第1页 / 共16页
java做曲线图、柱状图数据统计_第2页
第2页 / 共16页
java做曲线图、柱状图数据统计_第3页
第3页 / 共16页
java做曲线图、柱状图数据统计_第4页
第4页 / 共16页
java做曲线图、柱状图数据统计_第5页
第5页 / 共16页
点击查看更多>>
资源描述

《java做曲线图、柱状图数据统计》由会员分享,可在线阅读,更多相关《java做曲线图、柱状图数据统计(16页珍藏版)》请在金锄头文库上搜索。

1、如何引用 jar 包 project - project properties - 左侧选择 path - 右侧选择 requiredlibraries - add - archives ,然 后找到你要导入的包,点击 OK 即可JFREECHART DOCUMENT JFreeChart 核心对象类介绍类名类的作用以及简单描述JFreeChart图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性 的定制。JFreeChart 引擎本身提供了一个工厂类用于创建不同类型的图 表对象XXXXXDataset数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应 着很多类型的数据

2、集对象类XXXXXPlot图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的 时候需要 Axis、Renderer 以及数据集对象的支持XXXXXAxis用于处理图表的两个轴:纵轴和横轴XXXXXRenderer负责如何显示一个图表对象XXXXXURLGenerator用于生成 Web 图表中每个项目的鼠标点击链接XXXXXToolTipGenerato r用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类下面以柱状图和饼图以及折线图为例,介绍图形创建方法。 1)柱状图 org.jfree.chart.ChartFactory 这个工厂类有 createBarChart、

3、 createStackedBarChart、 createBarChart3D、 createStackedBarChart3D,这几个工厂方法创建不同类型的柱状图,比较重要的是 PlotOrientation.VERTICAL 让平行柱垂直显示,而 PlotOrientation.HORIZONTAL 则让平行柱 水平显示。 对柱状图影响较大的几个类包括: org.jfree.chart.axis.CategoryAxis、 org.jfree.chart.axis.ValueAxis、 org.jfree.chart.renderer.BarRenderer、 org.jfree.cha

4、rt.renderer. BarRenderer3D。具体实现步骤: (1)创建用于图形生成所要的数据集对象。 CategoryDataset dataset = DatasetUtilities.createCategoryDataset(rowKeys, columnKeys, data);其中:rowKeys 表示 X 轴数据,columnKeys 表示 Y 轴数据,data 表示填充柱状图所要的 实际数据(来自于数据库) 。 (2)创建图形对象。 JFreeChart chart = ChartFactory.createBarChart3D( “标题“, /图形的标题null, /X

5、 轴标题 null, /Y 轴标题 dataset, /数据 PlotOrientation.VERTICAL,,/图表方 向 true,/是否显示图例 false,/启用热键 false)/启用超键接 createBarChart3D 方法是 ChartFactory 工厂类里的一个方法,用于 3D 柱状图的生成,该类继承自 JFreeChart。 (3)设置图形显示的属性 a ) ValueAxis 类,设置柱到图上下边的距离。实现方法是: ValueAxis rangeAxis = plot.getRangeAxis(); 设置最高的一个柱与图片顶端的距离: rangeAxis.setU

6、pperMargin(0.15) 设置最低的一个柱与图片底端的距离: rangeAxis.setLowerMargin(0.15) b)org.jfree.chart.renderer.BarRenderer3D 类,设置图形上显示的数值。实现方法如下: BarRenderer3D renderer = new BarRenderer3D(); renderer.setBaseOutlinePaint(Color.BLACK); 设置 Wall 的颜色: renderer.setWallPaint(Color.gray); 设置每个柱的颜色: renderer.setSeriesPaint(0

7、, new Color(0, 0, 255); renderer.setSeriesPaint(1, new Color(0, 100, 255); renderer.setSeriesPaint(2, Color.GREEN); 设置每个柱的 Outline 颜色 renderer.setSeriesOutlinePaint(0, Color.BLACK); renderer.setSeriesOutlinePaint(1, Color.BLACK); renderer.setSeriesOutlinePaint(2, Color.BLACK); 设置每个地区所包含的平行柱之间的距离 ren

8、derer.setItemMargin(0.1); 显示每个柱的数值,并修改该数值的字体属性 renderer.setItemLabelGenerator(new StandardCategoryItemLabelGenerator(); renderer.setItemLabelFont(new Font(“黑体“,Font.PLAIN,12); renderer.setItemLabelsVisible(true); 为图形加入超连接 renderer.setItemURLGenerator(new StandardCategoryURLGenerator(); renderer.setT

9、oolTipGenerator(new StandardCategoryToolTipGenerator(); 柱状图 DEMO: package com.cons.jfreechart;import java.awt.Color; import java.io.File; import java.io.FileOutputStream;import org.jfree.chart.ChartFactory; import org.jfree.chart.ChartPanel; import org.jfree.chart.ChartRenderingInfo; import org.jfre

10、e.chart.ChartUtilities; import org.jfree.chart.JFreeChart; import org.jfree.chart.axis.NumberAxis3D; import org.jfree.chart.entity.StandardEntityCollection; import org.jfree.chart.plot.CategoryPlot; import org.jfree.chart.plot.PlotOrientation; import org.jfree.chart.plot.XYPlot; import org.jfree.cha

11、rt.renderer.category.BarRenderer; import org.jfree.chart.renderer.category.BarRenderer3D; import org.jfree.chart.renderer.xy.XYBarRenderer; import org.jfree.chart.renderer.xy.XYItemRenderer; import org.jfree.data.category.CategoryDataset; import org.jfree.data.category.DefaultCategoryDataset; import

12、 org.jfree.ui.ApplicationFrame; import org.jfree.ui.RefineryUtilities;public class BarChartDemo extends ApplicationFramepublic BarChartDemo() super(“); /* 获取一个演示用的简单数据集对象* return*/ private static CategoryDataset getDataSet() DefaultCategoryDataset dataset = new DefaultCategoryDataset(); dataset.addV

13、alue(100, null, “苹果“); dataset.addValue(200, null, “梨子“); dataset.addValue(300, null, “葡萄“); dataset.addValue(400, null, “香蕉“); dataset.addValue(500, null, “荔枝“); return dataset; /* 获取一个演示用的组合数据集对象* return*/ private static CategoryDataset getDataSet2() DefaultCategoryDataset dataset = new DefaultCat

14、egoryDataset(); dataset.addValue(100, “北京“, “苹果“); dataset.addValue(100, “上海“, “苹果“); dataset.addValue(100, “广州“, “苹果“);dataset.addValue(200, “北京“, “梨子“); dataset.addValue(200, “上海“, “梨子“); dataset.addValue(200, “广州“, “梨子“); dataset.addValue(300, “北京“, “葡萄“); dataset.addValue(300, “上海“, “葡萄“); datas

15、et.addValue(300, “广州“, “葡萄“); dataset.addValue(400, “北京“, “香蕉“); dataset.addValue(400, “上海“, “香蕉“); dataset.addValue(400, “广州“, “香蕉“); dataset.addValue(500, “北京“, “荔枝“); dataset.addValue(500, “上海“, “荔枝“); dataset.addValue(500, “广州“, “荔枝“); return dataset; /* param args*/ public static void main(Stri

16、ng args) CategoryDataset dataset = getDataSet2(); JFreeChart chart = ChartFactory.createBarChart3D(“水果产量图“, / 图表标题“水果“, / 目录轴的显示标签“产量“, / 数值轴的显示标签dataset, / 数据集PlotOrientation.VERTICAL, / 图表方向:水平、垂直true, / 是否显示图例(对于简单的柱状图必须是 false)false, / 是否生成工具false / 是否生成 URL 链接 ); CategoryPlot plot = chart.getCategoryPlot(); BarRenderer3D renderer3D=(BarRenderer3D)plot.getRenderer(); /BarRenderer3D rend

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号