JFreeChart生成柱状图
来源:互联网 发布:js递归算法1加到100 编辑:程序博客网 时间:2024/04/29 19:18
package com.test.picture;
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
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.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.TextAnchor;
public class StatisticalChart {
/**
* 获取一个设置数据的jfreeChart
* @return jfreeChart
*/
public static JFreeChart getPic(){
double[][] date = {{510d,320d,580d,390d},{110d,340d,58d,390d},{545d,310d,480d,300d},{560d,410d,590d,490d}};
String[] columnKeys = {"第一季度","第二季度","第三季度","第四季度"};
String[] kindsName = {"部门一","部门二","部门三","部门四"};
CategoryDataset dataSet = DatasetUtilities.createCategoryDataset(kindsName,columnKeys, date);
//生成一个3D的图表区域对象
JFreeChart jfreeChart = ChartFactory.createBarChart3D("产品销量统计图",
"产品",
"销量",
dataSet,PlotOrientation.VERTICAL,
true,
true,
true);
return jfreeChart;
}
public static void main(String[] args){
JFreeChart jfreeChart = StatisticalChart.getPic();
ChartFrame frame = new ChartFrame("",jfreeChart);
//JFreeChart 1.0.16对中文不友好没办法只能自行设置一下字体
Font font = new Font("宋体",10,20);
jfreeChart.getTitle().setFont(font);
//获取图例的头
LegendTitle legend = jfreeChart.getLegend();
legend.setItemFont(font);
//获取图表区域对象
CategoryPlot plot = (CategoryPlot) jfreeChart.getCategoryPlot();
BarRenderer3D renderer = new BarRenderer3D();
//显示每个柱的数值
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//正面柱状图元素定位 必须设置
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));
renderer.setItemLabelAnchorOffset(10);// 设置柱形图上的文字偏离值
plot.setRenderer(renderer);
//分类轴坐标
CategoryAxis domainAxis = plot.getDomainAxis();
//X轴记号的字体设置
domainAxis.setTickLabelFont(font);
domainAxis.setLabelFont(font);
//数据轴
ValueAxis valueAxis = plot.getRangeAxis();
valueAxis.setLabelFont(font);
//自动产生一个适合图表大小的窗体
frame.pack();
frame.setVisible(true);
}
}
import java.awt.Font;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
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.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.chart.title.LegendTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.general.DatasetUtilities;
import org.jfree.ui.TextAnchor;
public class StatisticalChart {
/**
* 获取一个设置数据的jfreeChart
* @return jfreeChart
*/
public static JFreeChart getPic(){
double[][] date = {{510d,320d,580d,390d},{110d,340d,58d,390d},{545d,310d,480d,300d},{560d,410d,590d,490d}};
String[] columnKeys = {"第一季度","第二季度","第三季度","第四季度"};
String[] kindsName = {"部门一","部门二","部门三","部门四"};
CategoryDataset dataSet = DatasetUtilities.createCategoryDataset(kindsName,columnKeys, date);
//生成一个3D的图表区域对象
JFreeChart jfreeChart = ChartFactory.createBarChart3D("产品销量统计图",
"产品",
"销量",
dataSet,PlotOrientation.VERTICAL,
true,
true,
true);
return jfreeChart;
}
public static void main(String[] args){
JFreeChart jfreeChart = StatisticalChart.getPic();
ChartFrame frame = new ChartFrame("",jfreeChart);
//JFreeChart 1.0.16对中文不友好没办法只能自行设置一下字体
Font font = new Font("宋体",10,20);
jfreeChart.getTitle().setFont(font);
//获取图例的头
LegendTitle legend = jfreeChart.getLegend();
legend.setItemFont(font);
//获取图表区域对象
CategoryPlot plot = (CategoryPlot) jfreeChart.getCategoryPlot();
BarRenderer3D renderer = new BarRenderer3D();
//显示每个柱的数值
renderer.setBaseItemLabelGenerator(new StandardCategoryItemLabelGenerator());
renderer.setBaseItemLabelsVisible(true);
//正面柱状图元素定位 必须设置
renderer.setBasePositiveItemLabelPosition(new ItemLabelPosition(
ItemLabelAnchor.OUTSIDE12, TextAnchor.BASELINE_CENTER));
renderer.setItemLabelAnchorOffset(10);// 设置柱形图上的文字偏离值
plot.setRenderer(renderer);
//分类轴坐标
CategoryAxis domainAxis = plot.getDomainAxis();
//X轴记号的字体设置
domainAxis.setTickLabelFont(font);
domainAxis.setLabelFont(font);
//数据轴
ValueAxis valueAxis = plot.getRangeAxis();
valueAxis.setLabelFont(font);
//自动产生一个适合图表大小的窗体
frame.pack();
frame.setVisible(true);
}
}
0 0
- JFreeChart 生成柱状图
- JFreeChart生成柱状图
- JFreeChart生成柱状图
- jfreechart柱状图生成
- JFreeChart生成柱状图实例
- JFreeChart生成柱状图
- jfreechart生成柱状图
- JFreeChart生成柱状图 jfreechart-0.9.16.jar
- JFreeChart 生成 柱状图(Struts2 + Maven3 + JFreeChart)
- JFreeChart 生成 柱状图(Struts2 + Maven3 + JFreeChart)
- JFreeChart生成柱状图的类
- JFreeChart生成3D柱状图
- 多列柱状图生成JfreeChart
- JFreeChart生成柱状图、饼状图、折线图详解
- 利用JFreeChart生成简单柱状图(Java)
- 利用JFreeChart生成简单柱状图(Servlet)
- jfreechart生成柱状图与饼状图(入门)
- 使用JFreeChart生成柱状图和饼图
- AIX启动oracle多个实例的方法
- 粒计算概念
- XMPP协议学习笔记三(Openfire服务器端搭建开发环境)
- E-mail中的域名和DNS相关知识(A记录,MX记录)
- python变量及其作用域,闭包
- JFreeChart生成柱状图
- null和""的区别
- Saiku去掉登录模块
- 浏览器三种刷新方式对浏览器缓存的影响
- oracle 11g R2静默安装
- HighCharts之2D带Label的折线图
- Adobe Gaming SDK中的Social分享功能
- 使用命令行方式静默安装Oracle 11gR2
- HSRP