如何使用Jfreechart生成柱状图?
2018-06-18 00:14:38来源:未知 阅读 ()
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图表。我自己运行的结果如下:
标签:
版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有
下一篇:04 java 基础:数据类型
- Flink 如何分流数据 2020-06-11
- 老板让你抗住千万级流量,如何做架构设计? 2020-06-11
- 如何干掉 if else 策略+工厂 2020-06-11
- 类的继承,方法重新中修饰符如何定义 2020-06-10
- 如何写出高质量Spring 组件? 2020-06-08
IDC资讯: 主机资讯 注册资讯 托管资讯 vps资讯 网站建设
网站运营: 建站经验 策划盈利 搜索优化 网站推广 免费资源
网络编程: Asp.Net编程 Asp编程 Php编程 Xml编程 Access Mssql Mysql 其它
服务器技术: Web服务器 Ftp服务器 Mail服务器 Dns服务器 安全防护
软件技巧: 其它软件 Word Excel Powerpoint Ghost Vista QQ空间 QQ FlashGet 迅雷
网页制作: FrontPages Dreamweaver Javascript css photoshop fireworks Flash