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图表。我自己运行的结果如下:

最新文章

  1. pycharm的使用破解和Anaconda的使用
  2. Unity3D性能优化--- 收集整理的一堆
  3. SpringHttpInvoker解析3-客户端实现
  4. ios 关键字 IB_DESIGNABLE IBInspectable 尝鲜
  5. 如何更改Magento的Base URL
  6. expect实现交互式脚本
  7. Java [leetcode 34]Search for a Range
  8. Leetcode OJ : Triangle 动态规划 python solution
  9. HDU 4763 (KMP算法)
  10. BZOJ3230: 相似子串
  11. php中调用其他系统http接口的方法说明
  12. Mysql的安装(二进制免编译包) 5.1版本
  13. java reflection总结
  14. JavaScript 中的日期和时间
  15. PL/SQL Developer ORA-12154: TNS: 无法解析指定的连接标识符
  16. Ruby入门--Linux/Windows下的安装、代码开发及Rails实战
  17. SPFA中 正逆邻接表的建立
  18. webpack2 项目
  19. Android Multimedia框架总结(十三)CodeC部分之OpenMAX框架初识及接口与适配层实现
  20. Echars使用

热门文章

  1. 结束回调事件(开头必须cp开头,JSProperties传参)
  2. vb.net的String类型和Bytes转换(C#也适用)
  3. 通向全栈之路——(5)git通三端
  4. Xcode 8 媒体权限
  5. 使用mybatis-generator生成自动代码
  6. HDFS要点剖析
  7. Anychart隐藏属性
  8. Chrome浏览器取消INPUT自动记忆下拉框
  9. http常见状态码有哪些?
  10. 【c++错误】类的语法错误 error c2533:constructors not allowed a return type(构造函数不允许返回一个类型)