JfreeChartshi一个强大的Java开源插件,最近在学习使用它,就把学习以后写得一些代码贴出来吧,我写的第一个程序使用JfreeChart生成柱状图。
其实使用JfreeChart生成各种图表的步骤是差不多的啊
1.实例化你要生成的图表对应的数据集。
2.从ChartFactory中得到对应的Chart实例
3.设置图表的背景,可以通过plot和render
4.利用ChartUtilities保存图片。
5.显示图片。
当然有些步骤你可以省略,比如第散步和第五步。
下面是我写的代码:
package com.mj.template;
import java.awt.Color;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;
import java.io.File;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartFrame;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.AxisLocation;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.ValueAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.renderer.category.BarRenderer3D;
import org.jfree.data.category.DefaultCategoryDataset;
/*
*@author mj
*/
public class MyBar {
public MyBar(){
init();
}
private void init(){
DefaultCategoryDataset dataset=getDataSet();
JFreeChart chart=ChartFactory.createBarChart3D("My first JfreeChar programe", "Compare", "Weight",
dataset,PlotOrientation.VERTICAL, false, false, false);
CategoryPlot plot=chart.getCategoryPlot();
//设置图表的横轴
CategoryAxis axis=plot.getDomainAxis();
//设置图片左端距离,此时为10%
axis.setLowerMargin(0.1);
//设置右端距离,此时10%
axis.setUpperMargin(0.1);
//设置横轴与标签之间的距离为10像素
axis.setCategoryLabelPositionOffset(10);
//设置标签之间的距离为20%
axis.setCategoryMargin(0.2);
//设置纵轴
ValueAxis valueaxis=plot.getRangeAxis();
//设置最高的一个柱与图片顶端的距离是10%
valueaxis.setUpperMargin(0.1);
//设置图表的颜色,好像边框的颜色设置没有起到作用,郁闷
BarRenderer3D render=new BarRenderer3D();
render.setBaseOutlinePaint(Color.RED);
//设置“一年前”柱子的颜色为绿色
render.setSeriesPaint(0, Color.GREEN);
//设置“一年前”柱子的边框颜色为蓝色
render.setSeriesOutlinePaint(0, Color.BLUE);
//设置“now"柱子的颜色为黄色
render.setSeriesPaint(1, Color.YELLOW);
//设置"now"柱子的边框颜色为黑色
render.setSeriesOutlinePaint(1, Color.BLACK);
//一组内两个柱子间的宽度为组宽的10%
render.setItemMargin(0.1);
//使设置生效
plot.setRenderer(render);
//设置总横坐标的显示位置
plot.setDomainAxisLocation(AxisLocation.BOTTOM_OR_LEFT);//设置compare位于横轴的左侧或下端
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);//设置weight位于纵轴的左端或下侧
//将报表保存为文件
File file=new File("c:/jiange.png");
try {
ChartUtilities.saveChartAsPNG(file,chart, 400, 300);
} catch (IOException e) {
e.printStackTrace();
}
//将报表显示当窗口当中
final ChartFrame frame=new ChartFrame("第一个柱状图",chart);
//设置关闭操作,貌似不用这么写
frame.addWindowListener(new WindowAdapter(){
public void windowClosing(WindowEvent e) {
//释放所占的资源
frame.dispose();
}
});
frame.pack();
// frame.setSize(800, 800);
frame.setVisible(true);
}
public DefaultCategoryDataset getDataSet(){
DefaultCategoryDataset dataset=new DefaultCategoryDataset();
dataset.addValue(120, "One Years Ago", "TM");
dataset.addValue(130, "Now", "TM");
dataset.addValue(110, "One Years Ago", "MJ");
dataset.addValue(100, "Now", "MJ");
dataset.addValue(156, "One Years Ago", "Yaoming");
dataset.addValue(200, "Now", "Yaoming");
return dataset;
}
public static void main(String[] args){
new MyBar();
}
}
分享到:
相关推荐
JFreeChart创建柱状图,之前网上很多都是创建柱状图的,静态的。数据更新之后柱状图随之改变,代码实现详见附件代码。所需要的jar包是jfreechart-1.0.13.jar,gnujaxp.jar,jcommon-1.0.16.jar
java+jfreechart+struts 生成柱状图 java jfreechart 柱状图 java jfreechart 柱状图 谁需要完整项目可以去http://download.csdn.net/source/2665347
JFreeChart生成柱形图完整测试代码 放在普通项目里运行main方法就能生成柱形图 不需要添加任何代码 可根据自己需要修改参数
使用 jfreechart 生成柱状图需要以下步骤: 1. 创建 CategoryDataset 对象,用于存储数据。 2. 创建 BarRenderer 对象,用于设置柱状图的样式。 3. 创建 CategoryAxis 对象,用于设置 x 轴和 y 轴的样式。 4. 使用 ...
jfreechat生成柱状图,饼状图,折线图,导出饼状图到pdf,excel.
public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--begin 维优特例 --> ...
通过freemarker,实现word模板中占位符的赋值以及赋值后的word文档生成。通过jfreechart生成柱状图和饼图,并在word文档中显示。
源文件 博文链接:https://lansky07.iteye.com/blog/227571
flex jfreechart生成 饼状图 flex jfreechart生成 柱状图 flex jfreechart生成 曲线图 flex jfreechart生成 曲线图
JFreeChart 饼状图 柱状图 柱状图 堆积柱状图 折线图 这个是我特地开发的一个用JFreeChart开发的用来画图的项目,已经开发成形了各种项目的各种需求的项目,并且自己可以拓展,根据需求修改代码,完成项目的需要。 ...
java里用JFreeChart画柱状图、折线图、雷达图,三个封装好的方法,可以直接调用。
jfreechart 生成折线图,饼图,柱状图,堆栈柱状图
JFreeChart生成3D饼状图及柱状图,可把图片生成在指定文件目录下
java实现向word文档中插入柱状图,并更改颜色。 将docx转化为xml文件在进行操作
jfreechart生成柱状图、折线图、饼状图等各种图形使用的jar包
jfreechart生成各种图表 柱状 饼状 折线 锥状
Java 生成柱状图;可以直接运行,含jar文件,注释全。
生成3D单组柱状图或多组柱状图,单组柱状图没组颜色不一样。这个东西写了挺久,代码没有好好整理,仅供参考。
jfreeChart生成的线状图,饼状图,柱状图