如何使用Jfreechart生成柱状图?
JFreeChart是JAVA平台上的一个开放的图表绘制类库。
首先 (http://www.jfree.org /jfreechart) 总这个网址下载所需要的库,然后解压,放在某个地方。 我们默认的环境是eclipse。

选择项目右键--.>选择BuildPath 然后点击Configure Build Path

在出现的界面右侧 选择 Add External JARs
找到你下载的库打开lib,将所有的jar文件添加进去。这时我们剩下要做的只有写代码。
package jfreechart; 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.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset; public class Jfreechartcanshu {
public static void main(String[] args) throws IOException {
final CategoryDataset ds = getDataSet();
final JFreeChart chart = ChartFactory.createBarChart3D("按参数的吞吐率和公平性", // 图表标题
"每次生成猴子个数", // 目录轴的显示标签
"数值", // 数值轴的显示标签
ds, // 数据集
PlotOrientation.VERTICAL, // 图表方向
true, // 是否显示图例,对于简单的柱状图必须为false
false, // 是否生成提示工具
false); // 是否生成url链接 final CategoryPlot categoryplot = (CategoryPlot) chart.getPlot(); final NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis(); final 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("./src/Monkey/chart参数.jpg");
ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null);
} finally {
try {
out.close();
} catch (final Exception ex) {
ex.printStackTrace();
}
}
} private static CategoryDataset getDataSet() {
final DefaultCategoryDataset ds = new DefaultCategoryDataset();
ds.addValue(1.11, "吞吐率", "K=2");
ds.addValue(0.72, "公平性", "K=2");
ds.addValue(1.17, "吞吐率", "K=4");
ds.addValue(0.60, "公平性", "K=4");
ds.addValue(1.53, "吞吐率", "K=6");
ds.addValue(0.65, "公平性", "K=6");
ds.addValue(1.66, "吞吐率", "K=8");
ds.addValue(0.53, "公平性", "K=8");
ds.addValue(1.34, "吞吐率", "K=10");
ds.addValue(0.65, "公平性", "K=10");
return ds;
}
}
这时一个样板,运行后 会在目录下生成.jpg文件,是一个柱状图,改动时只需要将X,Y轴的数值,文字改变。其他的可根据需要进行变动,这样就生成了一个jfreechart图表。我自己运行的结果如下:

如何使用Jfreechart生成柱状图?的更多相关文章
- 使用jfreechart生成柱状图、折线图、和饼状图
JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...
- SSH框架通过JFreeChart实现柱状图和获取项目路径
获取项目路径:String url= ServletActionContext.getRequest().getRealPath("/upload"); 一.直接生成的图片输出到j ...
- JFreeChart 之柱状图
JFreeChart 之柱状图 一.JFreeChart 简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets ...
- 使用JFreeChart创建柱状图的工具类
package cn.xfz.oa.util; import java.awt.Font; import java.util.List; import org.jfree.chart.ChartFac ...
- 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图
如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?
- html5生成柱状图(条形图)
<html> <canvas id="a_canvas" width="1000" height="700">< ...
- 使用poi和jfreechart生成excel图表图片
最近项目在频繁的操作excel,里边涉及到很多和图表有关的东西.有时候需要使用java操作excel自带的图标,比较复杂的我们都是使用excel模板的形式实现. 除此之外,也有一些功能只需要生成对应的 ...
- highCharts+Struts2生成柱状图
这篇文章主要结合Struts2+json+Highcharts实现动态数据的显示.为了节省时间,就不写数据库了.在action中用一个集合来模拟从数据库取到的数据.模拟数据为三个学生在不同时间成绩的变 ...
- JFreeChart生成饼形图(3) (转自 JSP开发技术大全)
JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...
随机推荐
- C#字符串中的中文逗号转英文逗号
public static string ToDBC(string input) { char[] c = input.ToCharArray(); for (int i = 0; i < c. ...
- Struts初始
1.首先我们先创建一个maven的简单工程, 如图 然后点击创建一个简单的工程,点击下一步, 然后, 再次输入工程的各项信息,1组织名,2.项目名称,版本名,一般为默认,3,jar包暂时默认,当前的j ...
- 二:Servlet
一:servlet开端 1.servlet是什么? a.就是一个java类 b.服务器端的小程序 c.处理用户请求 2.servlet的实现: a.实现Servlet接口 b.继承GenericSer ...
- hdu 1023 卡特兰数《 大数》java
Train Problem II Time Limit: 2000/1000 MS (Java/Others) Memory Limit: 65536/32768 K (Java/Others) ...
- spring Controller 层注解获取 properties 里面的值
前言:最近在做一个项目,想要在 controller 层直接通过注解 @Value("")来获取 properties 里面配置的属性. 这个其实和 springmvc.sprin ...
- 【java基础】从反射开始(Reflection)
Java学习笔记 https://github.com/SnailDev/java-learning 和我一起启程... 反射(Reflection) 定义 在运行状态中, 对于任意的一个类,都能够知 ...
- 让iframe可编辑
function EnableEdit() { var editor; editor = document.getElementById("HtmlEdit").contentWi ...
- [微信小程序]微信开发工具出现 1not found 编译 .wxss文件信息错误怎么办?
错误代码: "1not found 编译 .wxss文件信息错误",如 下图 出现场景: 1.一般出现在安装新版本之后出现的状况,可能由于版本之间的兼容导致 解决办法: 1.重装整 ...
- sublime text插件推荐
time: 2016-05-23 13:00 --- 用了Sublime Text有一段时间了,之前被周围的几个前端小伙伴灌输的思想就是,牛b的前端程序员都是手写代码的,用代码提示啥的都low,然而上 ...
- ajax 异步请求返回只刷新一次页面
success:function (res) { if (res == "ok") { // $('#dg').bootstrapTable(('refresh')); if (l ...