利用JFreeChart生成简单柱状图(Java)
package barchartdemo1;
import <a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.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.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
/**
*
* @author Administrator
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
CategoryDataset ds = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", //图表标题
"水果", //目录轴的显示标签
"产量", //数值轴的显示标签
ds, //数据集
PlotOrientation.VERTICAL, //图表方向
true, //是否显示图例,对于简单的柱状图必须为false
false, //是否生成提示工具
false); //是否生成url链接
CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
CategoryAxis domainAxis = categoryplot.getDomainAxis();
/*------设置X轴坐标上的文字-----------*/
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
/*------设置X轴的标题文字------------*/
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
/*------设置Y轴坐标上的文字-----------*/
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
/*------设置Y轴的标题文字------------*/
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
/*------这句代码解决了底部汉字乱码的问题-----------*/
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
/*******这句代码解决了标题汉字乱码的问题********/
chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12));
FileOutputStream out = null;
try {
out = new FileOutputStream("E://Items//BarChartDemo1//image//1.jpg");
ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null);
} finally {
try {
out.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
private static CategoryDataset getDataSet() {
DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(100, "北京", "苹果");
ds.addValue(100, "上海", "苹果");
ds.addValue(100, "广州", "苹果");
ds.addValue(200, "北京", "梨子");
ds.addValue(200, "上海", "梨子");
ds.addValue(200, "广州", "梨子");
ds.addValue(300, "北京", "葡萄");
ds.addValue(300, "上海", "葡萄");
ds.addValue(300, "广州", "葡萄");
ds.addValue(400, "北京", "橘子");
ds.addValue(400, "上海", "橘子");
ds.addValue(400, "广州", "橘子");
ds.addValue(500, "北京", "香蕉");
ds.addValue(500, "上海", "香蕉");
ds.addValue(500, "广州", "香蕉");
return ds;
}
}
package barchartdemo1;
import <a href="http://lib.csdn.net/base/javaee" class='replace_word' title="Java EE知识库" target='_blank' style='color:#df3434; font-weight:bold;'>Java</a>.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.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
/**
*
* @author Administrator
*/
public class Main {
/**
* @param args the command line arguments
*/
public static void main(String[] args) throws IOException {
CategoryDataset ds = getDataSet();
JFreeChart chart = ChartFactory.createBarChart3D(
"水果产量图", //图表标题
"水果", //目录轴的显示标签
"产量", //数值轴的显示标签
ds, //数据集
PlotOrientation.VERTICAL, //图表方向
true, //是否显示图例,对于简单的柱状图必须为false
false, //是否生成提示工具
false); //是否生成url链接
CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
CategoryAxis domainAxis = categoryplot.getDomainAxis();
/*------设置X轴坐标上的文字-----------*/
domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
/*------设置X轴的标题文字------------*/
domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
/*------设置Y轴坐标上的文字-----------*/
numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
/*------设置Y轴的标题文字------------*/
numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
/*------这句代码解决了底部汉字乱码的问题-----------*/
chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
/*******这句代码解决了标题汉字乱码的问题********/
chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12));
FileOutputStream out = null;
try {
out = new FileOutputStream("E://Items//BarChartDemo1//image//1.jpg");
ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null);
} finally {
try {
out.close();
} catch (Exception ex) {
ex.printStackTrace();
}
}
}
private static CategoryDataset getDataSet() {
DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(100, "北京", "苹果");
ds.addValue(100, "上海", "苹果");
ds.addValue(100, "广州", "苹果");
ds.addValue(200, "北京", "梨子");
ds.addValue(200, "上海", "梨子");
ds.addValue(200, "广州", "梨子");
ds.addValue(300, "北京", "葡萄");
ds.addValue(300, "上海", "葡萄");
ds.addValue(300, "广州", "葡萄");
ds.addValue(400, "北京", "橘子");
ds.addValue(400, "上海", "橘子");
ds.addValue(400, "广州", "橘子");
ds.addValue(500, "北京", "香蕉");
ds.addValue(500, "上海", "香蕉");
ds.addValue(500, "广州", "香蕉");
return ds;
}
}
图片效果:

利用JFreeChart生成简单柱状图(Java)的更多相关文章
- 利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全)
利用JFreeChart生成区域图 (5) (转自 JSP开发技术大全) 14.5 利用JFreeChart生成区域图 通过JFreeChart插件只能生成普通效果的区域图,利用工厂类ChartFac ...
- 利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全)
利用JFreeChart生成折线图 (4) (转自 JSP开发技术大全) 14.4 利用JFreeChart生成折线图 通过JFreeChart插件,既可以生成普通效果的折线图,也可以生成3D效果的折 ...
- 学习笔记:利用GDI+生成简单的验证码图片
学习笔记:利用GDI+生成简单的验证码图片 /// <summary> /// 单击图片时切换图片 /// </summary> /// <param name=&quo ...
- 利用JFreeChart生成时序图(6) (转自 JSP开发技术大全)
利用JFreeChart生成时序图(6) (转自 JSP开发技术大全) 14.6 利用JFreeChart生成时序图 通过JFreeChart插件只能生成普通效果的时序图,利用工厂类ChartFact ...
- 利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全)
利用JFreeChart生成组合图表 (8) (转自 JSP开发技术大全) 14.8 利用JFreeChart生成组合图表 实例位置:光盘\mingrisoft\14\dxyy\02 通过JFree ...
- 利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全)
利用JFreeChart生成多轴图表(7) (转自 JSP开发技术大全) 14.7 利用JFreeChart生成多轴图表 通过JFreeChart插件还可以生成拥有多个坐标轴的图表,简称多轴图表.在生 ...
- JFreeChart生成饼形图(3) (转自 JSP开发技术大全)
JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...
- JFreeChart生成饼形图(3)11 (转自 JSP开发技术大全)
FreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图:如 ...
- JFreeChart生成柱形图(2) (转自 JSP开发技术大全)
JFreeChart生成柱形图(2) (转自 JSP开发技术大全) 14.2 利用JFreeChart生成柱形图14.2.1 利用DefaultCategoryDataset数据集绘制柱形图 通过JF ...
随机推荐
- node的cropto加密
本文转自https://blog.csdn.net/sinat_35670989/article/details/78224214 'use strict' //crypto(kri:pto)意为加密 ...
- kafka broker
在server.properties文件中配置: 1.broker.id kafka集群是由多个节点组成的,每个节点称为一个broker,中文翻译是代理.每个broker都有一个不同的brokerId ...
- Linux内核设计与实现 总结笔记(第十章)内核同步方法
一.原子操作 原子操作可以保证指令以原子的方式执行----执行过程不被打断. 1.1 原子整数操作 针对整数的原子操作只能对atomic_t类型的数据进行处理. 首先,让原子函数只接收atomic_t ...
- getchar、getch、getche 与 gets()
一.getchar.getch.getche 1.getchar() getchar()从输入缓冲区读入一个字符,并返回这个字符的ASCII码(即函数返回值为int型),出错返回-1(EOF):如果用 ...
- 【BZOJ2200】道路和航线(并查集,拓扑排序,最短路)
题意:n个点,有m1条双向边,m2条单向边,双向边边长非负,单向边可能为负 保证如果有一条从x到y的单项边,则不可能存在从y到x的路径 问从S出发到其他所有点的最短路 n<=25000,n1,m ...
- CSP-S2 Review: 模拟
Luogu 1087 FBI tree #include <cstdio> #include <cstring> char s[4100]; int n; char fbi(i ...
- java的基本数据类型有
整型数据根据它所占内容大小的不同可分为4种类型. 数据类型 内存 byte 8位 short 16位 int 32位 long 64位 浮点类型 数据类型 内存 float 32位 double 64 ...
- javascript中for循环和标签元素赋值问题总结
<!DOCTYPE html><html><body><p>点击下面的按钮,将代码块循环五次:</p><button onclick= ...
- CMD模块打包部署总结
目前线上系统利用Seajs做模板化,但是没有对js和css进行打包,在这次简历搜索优化项目里我尝试对gulp插件对Seajs模块打包. 安装gulp和相关插件 npm install -g gulp ...
- error: exportArchive: You don’t have permission to save the file “HelloWorld.ipa” in the folder “HelloWorld”.
成功clean环境和生成archive文件之后,最后一步导出ipa包,遇到了权限问题: you don’t have permission to save the file “HelloWorld.i ...