package com.cs.jfreechart;
import java.awt.Color;
import java.awt.Font;
import java.io.FileOutputStream;
import java.io.IOException;
import org.jfree.chart.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.NumberAxis;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.chart.title.TextTitle;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
public class LineChartDemo {
/**
* @param args
* @throws IOException
*/
public static void main(String[] args) throws IOException {
//生成折线图
JFreeChart chart = ChartFactory.createLineChart (
"图书销售统计表", //图表标题
"图书", //目录轴的显示标签
"销量", //数值轴的显示标签
getDateSet(), //数据
//PlotOrientation.HORIZONTAL, //图表方向水平
PlotOrientation.VERTICAL, //图表方向垂直
false, //是否显示图例
false, //是否显示工具提示
false //是否生成URL
);
//设置标题及标题字体
chart.setTitle(new TextTitle("图书销售统计图",new Font("黑体",Font.ITALIC,22)));
//建一个图例
//LegendTitle legendTitle = chart.getLegend(0);
//设置图例字体
//legendTitle.setItemFont(new Font("宋体",Font.BOLD,14));
//获取折线图plot对象
CategoryPlot plot = (CategoryPlot) chart.getPlot();
//设置折线的颜色
plot.getRenderer().setSeriesPaint(0, Color.blue);
//取得横轴
CategoryAxis categoryAxis = plot.getDomainAxis();
//设置横轴的字体
categoryAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
//设置分类标签以45度倾斜
//categoryAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
//设置分类标签字体
categoryAxis.setTickLabelFont(new Font("宋体",Font.BOLD,22));
//取得纵轴
NumberAxis numberAxis = (NumberAxis) plot.getRangeAxis();
//设置纵轴的字体
numberAxis.setLabelFont(new Font("宋体",Font.BOLD,22));
//设置背景透明度(0~1)
plot.setBackgroundAlpha(0.9f);
//输出文件
FileOutputStream fos = new FileOutputStream("book.jpg");
//用ChartUtilities工具输出
ChartUtilities.writeChartAsJPEG(fos, chart, 800, 600);
fos.close();
}
private static CategoryDataset getDateSet() {
//提供生成折线图的数据
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(47,"","JAVA教程");
dataset.addValue(23,"","c++教程");
dataset.addValue(20,"","C#教程");
dataset.addValue(10,"","VC++教程");
return dataset;
}
}
分享到:
相关推荐
* 创建chart * * @return */ public JFreeChart createChart(String Ytitle, String title, CategoryDataset lineData, CategoryDataset barData) { //参考附件 return chart; } //struts 部分 <!--...
Java语言纯后台生成折线图,饼图,柱状图。
主要为大家详细介绍了JFreeChart折线图的生成方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
通过freemarker,实现word模板中占位符的赋值以及赋值后的word文档生成。通过jfreechart生成柱状图和饼图,并在word文档中显示。
使用 JFreeChart来创建基于web的图表,包括饼图、折线图、柱形图、平面、立体的以及桌面应用的图标开发和WEB图表开发
//创建xy折线图 JFreeChart chart = ChartFactory.createXYLineChart("liumingjin", // chart title "time(min)", // domain axis label "pv(mv)", // range axis label xyDataset, // data ...
使用JfreeChart创建柱状图,折线图,饼图,堆积柱状图,时间序列图,二维Y轴坐标图.自己把自己整理的所有笔记和代码全都分享出来,希望大家在做图表的时候,不至于因为JfreeChart丑就不采用。
这个例子 包含 折线图 饼形图 柱状图 域状图 组合图表 时序图 是web工程 已经解决乱码
开发环境为intellij15+jdk8.0; 功能:使用swing创建窗口,添加主面板,在主面板下有几个tab,通过tab切换绘制不同的图形。
通过三种不同的方式(freemarker+jfreechart、xDoc、POI),根据模板创建Word文件。可以动态修改Word中表格(table)、图表(chart)等数据。导入工程后,可直接运行xxxDemo文件,查看文档生成效果。详见压缩包中的...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...
2个目标文件,FTP的目标是:(1)提高文件的共享性(计算机程序和/或数据),(2)鼓励间接地(通过程序)使用远程计算机,(3)保护用户因主机之间的文件存储系统导致的变化,(4)为了可靠和高效地传输,虽然用户...