JFreeChart是JAVA平台上的一个开放的图表绘制类库。

首先 (http://www.jfree.org /jfreechart) 总这个网址下载所需要的库,然后解压,放在某个地方。 我们默认的环境是eclipse。

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

在出现的界面右侧 选择 Add External JARs

找到你下载的库打开lib,将所有的jar文件添加进去。这时我们剩下要做的只有写代码。

  1. package jfreechart;
  2.  
  3. import java.awt.Font;
  4. import java.io.FileOutputStream;
  5. import java.io.IOException;
  6.  
  7. import org.jfree.chart.ChartFactory;
  8. import org.jfree.chart.ChartUtilities;
  9. import org.jfree.chart.JFreeChart;
  10. import org.jfree.chart.axis.CategoryAxis;
  11. import org.jfree.chart.axis.NumberAxis;
  12. import org.jfree.chart.plot.CategoryPlot;
  13. import org.jfree.chart.plot.PlotOrientation;
  14. import org.jfree.data.category.CategoryDataset;
  15. import org.jfree.data.category.DefaultCategoryDataset;
  16.  
  17. public class Jfreechartcanshu {
  18. public static void main(String[] args) throws IOException {
  19. final CategoryDataset ds = getDataSet();
  20. final JFreeChart chart = ChartFactory.createBarChart3D("按参数的吞吐率和公平性", // 图表标题
  21. "每次生成猴子个数", // 目录轴的显示标签
  22. "数值", // 数值轴的显示标签
  23. ds, // 数据集
  24. PlotOrientation.VERTICAL, // 图表方向
  25. true, // 是否显示图例,对于简单的柱状图必须为false
  26. false, // 是否生成提示工具
  27. false); // 是否生成url链接
  28.  
  29. final CategoryPlot categoryplot = (CategoryPlot) chart.getPlot();
  30.  
  31. final NumberAxis numberaxis = (NumberAxis) categoryplot.getRangeAxis();
  32.  
  33. final CategoryAxis domainAxis = categoryplot.getDomainAxis();
  34.  
  35. /*------设置X轴坐标上的文字-----------*/
  36. domainAxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 11));
  37.  
  38. /*------设置X轴的标题文字------------*/
  39. domainAxis.setLabelFont(new Font("宋体", Font.PLAIN, 12));
  40.  
  41. /*------设置Y轴坐标上的文字-----------*/
  42. numberaxis.setTickLabelFont(new Font("sans-serif", Font.PLAIN, 12));
  43.  
  44. /*------设置Y轴的标题文字------------*/
  45. numberaxis.setLabelFont(new Font("黑体", Font.PLAIN, 12));
  46.  
  47. /*------这句代码解决了底部汉字乱码的问题-----------*/
  48. chart.getLegend().setItemFont(new Font("宋体", Font.PLAIN, 12));
  49.  
  50. /******* 这句代码解决了标题汉字乱码的问题 ********/
  51. chart.getTitle().setFont(new Font("宋体", Font.PLAIN, 12));
  52.  
  53. FileOutputStream out = null;
  54. try {
  55. out = new FileOutputStream("./src/Monkey/chart参数.jpg");
  56. ChartUtilities.writeChartAsJPEG(out, 0.5f, chart, 400, 300, null);
  57. } finally {
  58. try {
  59. out.close();
  60. } catch (final Exception ex) {
  61. ex.printStackTrace();
  62. }
  63. }
  64. }
  65.  
  66. private static CategoryDataset getDataSet() {
  67. final DefaultCategoryDataset ds = new DefaultCategoryDataset();
  68. ds.addValue(1.11, "吞吐率", "K=2");
  69. ds.addValue(0.72, "公平性", "K=2");
  70. ds.addValue(1.17, "吞吐率", "K=4");
  71. ds.addValue(0.60, "公平性", "K=4");
  72. ds.addValue(1.53, "吞吐率", "K=6");
  73. ds.addValue(0.65, "公平性", "K=6");
  74. ds.addValue(1.66, "吞吐率", "K=8");
  75. ds.addValue(0.53, "公平性", "K=8");
  76. ds.addValue(1.34, "吞吐率", "K=10");
  77. ds.addValue(0.65, "公平性", "K=10");
  78. return ds;
  79. }
  80. }

这时一个样板,运行后 会在目录下生成.jpg文件,是一个柱状图,改动时只需要将X,Y轴的数值,文字改变。其他的可根据需要进行变动,这样就生成了一个jfreechart图表。我自己运行的结果如下:

如何使用Jfreechart生成柱状图?的更多相关文章

  1. 使用jfreechart生成柱状图、折线图、和饼状图

    JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets, servlets 以及JSP等使用所设计.下面我就详细介绍如 ...

  2. SSH框架通过JFreeChart实现柱状图和获取项目路径

    获取项目路径:String url= ServletActionContext.getRequest().getRealPath("/upload"); 一.直接生成的图片输出到j ...

  3. JFreeChart 之柱状图

    JFreeChart 之柱状图 一.JFreeChart 简介 JFreeChart是JAVA平台上的一个开放的图表绘制类库.它完全使用JAVA语言编写,是为applications, applets ...

  4. 使用JFreeChart创建柱状图的工具类

    package cn.xfz.oa.util; import java.awt.Font; import java.util.List; import org.jfree.chart.ChartFac ...

  5. 如何用asp.net MVC框架、highChart库从sql server数据库获取数据动态生成柱状图

    如何用asp.net MVC框架.highChart库从sql server数据库获取数据动态生成柱状图?效果大概是这样的,如图: 请问大侠这个这么实现呢?

  6. html5生成柱状图(条形图)

    <html> <canvas id="a_canvas" width="1000" height="700">< ...

  7. 使用poi和jfreechart生成excel图表图片

    最近项目在频繁的操作excel,里边涉及到很多和图表有关的东西.有时候需要使用java操作excel自带的图标,比较复杂的我们都是使用excel模板的形式实现. 除此之外,也有一些功能只需要生成对应的 ...

  8. highCharts+Struts2生成柱状图

    这篇文章主要结合Struts2+json+Highcharts实现动态数据的显示.为了节省时间,就不写数据库了.在action中用一个集合来模拟从数据库取到的数据.模拟数据为三个学生在不同时间成绩的变 ...

  9. JFreeChart生成饼形图(3) (转自 JSP开发技术大全)

    JFreeChart生成饼形图(3) (转自 JSP开发技术大全) 14.3 利用JFreeChart生成饼形图 通过JFreeChart插件,即可以生成普通效果的饼形图,也可以生成3D效果的饼形图: ...

随机推荐

  1. Linux 命令 "cp" 代码实现简介

    本blog主要是模仿Linux的cp命令的功能,未实现参数,只是基础功能部分. 本文的主要目的在于练习 文件流 和 目录流 中的函数的使用. 主要功能包括两种: 源文件属性为文件,拷贝到其它文件(内容 ...

  2. Directory文件类

    创建一个新文件 Directory.CreateDirectory(@"C: \Users\enle\Desktop\new");//路径 Console.WriteLine(&q ...

  3. maven-shade-plugin 打包出错

    一般maven-shade-plugin 打包出错的原因都是因为jar包出错,一般使用mvn package -X 即可找出对应错误的jar包删除即可.我自己遇到的是打开自己打包完的jar包出错,整的 ...

  4. Fork/Join

    Fork/Join框架是Java7提供了的一个用于并行执行任务的框架, 是一个把大任务分割成若干个小任务,最终汇总每个小任务结果后得到大任务结果的框架. 我们再通过Fork和Join这两个单词来理解下 ...

  5. win8.1 pro-64位下安装配置MinGW—64位

    1.下载MinGW-w64位:http://mingw-w64.org/doku.php 点击Downloads 说明:这边使用的是在线安装方式: 在网站里可以看到他安装后的文件夹: 2.安装 运行m ...

  6. problem-solving-with-algorithms-and-data-structure-usingpython(使用python解决算法和数据结构) -- 基本数据结构 -- 队列

    1. 什么是队列? 队列是项的有序结合,其中添加新项的一端称为队尾,移除项的一端称为队首. FIFO:先进先出 2. 队列抽象数据类型 队列操作如下: Queue() 创建一个空的新队列. 它不需要参 ...

  7. bae使用nodejs遇到的问题---‘Fix depends failed. Please check requirements.txt.’

    今天尝试了百度开放云里面的nodejs云引擎,部署没有任何问题,修改文件后发现了发布不了,去查看发布设置发现了问题: Fix depends failed. Please check requirem ...

  8. 2017年值得学习的3个CSS特性

    原文:https://bitsofco.de/3-new-css-features-to-learn-in-2017/译文:http://caibaojian.com/3-new-css-featur ...

  9. Angularjs controller之间的通信

    刚刚看了网上的一些关于控制器之间的通信:然后结合自己项目做了一些,这里主要做的是二个同级之间的controller通信. Html: <html> <script src=" ...

  10. linux(centos7)下SVN服务器搭建手札

    linux(centos)下SVN服务器如何搭建?说到SVN服务器,想必大家都知道,可以是在LINUX下如何搭建SVN服务器呢?那么今天给大家分享一下linux(centos)搭建SVN服务器的思路! ...