平面柱状图
生成柱状图操作:
JFreeChart chart = ChartFactory.createBarChart(
String title, // 图标题
String categoryAxisLabel, //x 轴标题
String valueAxisLabel, //y 轴标题
CategoryDataset dataset, // 数据源
PlotOrientation orientation, // 显示方向
boolean legend, // 是否显示图例
boolean tooltips, // 是否显示 tooltip
boolean urls) ; // 是否指定 url
平面柱状图的 Plot 对象是 CategoryPlot 类型。 CategoryPlot 对象的 x 轴是 CategoryAxis 对象, y 轴是 NumberAxis 对象,绘制单元是 BarRenderer 对象,数据源是 CategoryDataset 对象。
//获取 CategoryPlot 对象操作为:
CategoryPlot plot = ( CategoryPlot ) chart.getPlot(); 或者
CategoryPlot plot = chart.getCategoryPlot();
//获取绘制单元操作:
BarRenderer renderer = (BarRenderer) plot.getRenderer();
//获取 x 轴的操作:
CategoryAxis xAxis = ( CategoryAxis ) plot.getDomainAxis();
//获取 y 轴操作:
NumberAxis yAxis = (NumberAxis) plot.getRangeAxis();
//获取数据源:
CategoryDataset dataset=plot.getDataset();
柱状图可以接受一切 CategoryDataset 类型的数据源,下面讲解一下常用的 CategoryDataset 类型 DefaultCategoryDataset 的使用方式
//实例化:
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
增加数据
dataset .addValue(double value, Comparable rowKey, Comparable columnKey) ;
//删除数据: 对行同样有上述两种删除方式
dataset .removeValue(Comparable rowKey, Comparable columnKey);
dataset. removeColumn(int columnIndex);
dataset. removeColumn(Comparable columnKey);
//修改数据:
dataset. setValue(double value, Comparable rowKey, Comparable columnKey);
//查询数据 :
dataset. setValue(double value, Comparable rowKey, Comparable columnKey);
对 plot 对象、绘制单元、 x 轴、 y 轴的显示特性修改不再一一介绍。
3D 柱状图
对应的工厂方法为 createBarChart3D ,该方法的参数与平面柱状图相同。 3D 柱状图的 Plot 对象是 CategoryPlot 类型。 CategoryPlot 对象的 x 轴是 CategoryAxis3D 对象, y 轴是 NumberAxis3D 对象,绘制单元是 BarRenderer3D 对象,数据源是 CategoryDataset 对象。
具体使用以及操作与平面柱状图雷同,不在详述。
demo
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.DefaultCategoryDataset;
public class TestBarChart {
public static DefaultCategoryDataset createDataset() {
DefaultCategoryDataset categoryDataset = new DefaultCategoryDataset();
String rowKey1 = "最高收视率";
String rowKey2 = "最低收视率";
String columnKey1 = "篮球火";
String columnKey2 = "无敌珊宝妹";
String columnKey3 = "不良笑花";
categoryDataset.setValue(2.80, rowKey1, columnKey1);
categoryDataset.setValue(1.72, rowKey2, columnKey1);
categoryDataset.setValue(3.63, rowKey1, columnKey2);
categoryDataset.setValue(2.37, rowKey2, columnKey2);
categoryDataset.setValue(2.84, rowKey1, columnKey3);
categoryDataset.setValue(1.46, rowKey2, columnKey3);
return categoryDataset;
}
public static void createBarChart() {
JFreeChart barChart = ChartFactory.createBarChart("台湾偶像剧收视率2008/09/21", "",
"收视率百分点", createDataset(), PlotOrientation.VERTICAL,
true, true, false);
ChartFrame frame=new ChartFrame("Test Bar Chart",barChart);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
createBarChart();
}
}
效果图
package com.px1987.jfreechart;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.xy.IntervalXYDataset;
import org.jfree.data.xy.XYBarDataset;
import org.jfree.data.xy.XYSeries;
import org.jfree.data.xy.XYSeriesCollection;
public class TestXYBarChart {
public static IntervalXYDataset createDataset() {
XYSeriesCollection seriesCollection = new XYSeriesCollection();
XYSeries series1 = new XYSeries("平均收视率");
series1.add(1, 7.25);
series1.add(2, 4.81);
series1.add(3, 3.69);
series1.add(4, 3.53);
series1.add(5, 2.95);
series1.add(6, 3.96);
seriesCollection.addSeries(series1);
return new XYBarDataset(seriesCollection, 0.9);
}
public static void createXYBarChart() {
JFreeChart chart = ChartFactory.createXYBarChart("无敌珊宝妹平均收视率",
"集数", false, "收视率百分比", createDataset(), PlotOrientation.VERTICAL,
true, false, false);
ChartFrame frame = new ChartFrame("Test XY Bar Chart", chart);
frame.pack();
frame.setVisible(true);
}
public static void main(String[] args) {
createXYBarChart();
}
}
分享到:
相关推荐
jfreechart-0.9.21的jar包和jfreechart-0.9.21-demo
struts2-jfreechart-plugin-2.1.8.1.jar
jfreechart-1.0.14.zip中包含jfreechart-1.0.14-demo.jar所对应的源码。
jfreechart-1.5.2.jar,jfreechart|jfreechart
jfreechart-1.0.19压缩包中有一个jfreechart-1.0.19-demo.jar,里面演示了各种图表的制作案例,包括BarChart、LineChart、PieChart、TimeSeriesChart、XYSeries等等,共309个例子,现开放源码,请各位下载,欢迎交流...
包含 jfreechart-1.0.19-demo.jar(java 环境下点击就可以查看) 包含jar包 jfreechart-1.0.19.jar,jfreechart-1.0.19-swt.jar,jcommon-1.0.23.jar,junit-4.11等,具体项目中需要哪些jar 包 ...
struts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jarstruts2-jfreechart-plugin-2.0.11.jar
jfreechart-1.0.13 jfreechart-1.0.13 jfreechart-1.0.13 jfreechart-1.0.13 jfreechart-1.0.13 jfreechart-1.0.13
Java 最优秀的画图工具,包括Jar文件和各种例子文件!共享!多支持!
bar charts (regular and stacked, with an optional 3D effect):柱状图 line and area charts:曲线图 scatter plots and bubble charts time series, high/low/open/close charts and candle st
JFreeChart可生成饼图(pie charts)、柱状图(bar charts)、散点图(scatter plots)、时序图(time series)、甘特图(Gantt charts)等等多种图表,并且可以产生PNG和JPEG格式的输出,还可以与PDF和EXCEL关联。
包含jfreechart 1.0.13的api源码 和 官方实例的源码(jfreechart-1.0.13-demo-sorce.rar)与jfreechart-1.0.13-demo.jar实例程序对应来看,学习起来比较容易
jfreechart-1.0.19demo源码
jfreechart-1.0.6-demo源码
jfreechart-1.0.13还在为java报表烦恼? 不要犹豫,下载吧!jfreechart-1.0.13让你无限可能
jfreechart-1.0.14-swt.jar
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
如下载 jfreechart-1.0.0-rc1.zip 三、创建数据库中的表 test 四、JSP源程序: ;charset=GBK"%> *" %> *" %> *" %> <%@ page import="org.jfree.chart.*" %> <%@ page import="org.jfree.chart.plot.*" %> ...
反编整理的jfreechart-1.0.17demo源码,使用jfreechart-1.0.17相关jar运行,SuperDemo为运行入口
jfreechart-1.0.13 API