JFreeChart—输出组合图表
来源:互联网 发布:淘宝开茶叶店 编辑:程序博客网 时间:2024/04/29 01:46
组合图表(Combined Chart)可以组合不同的图形,例如柱状图和折线图等,通常显示股票的图,比如上方式股票价格,下方是成交量。
实现代码:
CombinedChartServlet.java
package com.lmb.jfreechart;import java.io.IOException;import javax.servlet.ServletException;import javax.servlet.http.HttpServlet;import javax.servlet.http.HttpServletRequest;import javax.servlet.http.HttpServletResponse;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.labels.StandardCategoryToolTipGenerator;import org.jfree.chart.plot.CategoryPlot;import org.jfree.chart.plot.CombinedDomainCategoryPlot;import org.jfree.chart.renderer.category.BarRenderer;import org.jfree.chart.renderer.category.LineAndShapeRenderer;import org.jfree.data.category.CategoryDataset;import org.jfree.data.category.DefaultCategoryDataset;public class CombinedChartServlet extends HttpServlet { private static final long serialVersionUID = -566713680648708515L; public CombinedChartServlet() { super(); } public void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { this.doPost(request, response); } public void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException { // 设置返回类型为图片 response.setContentType("image/png"); // 创建第一个数据集 CategoryDataset categorydataset = createDataset(); NumberAxis numberaxis = new NumberAxis("销量"); numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits()); LineAndShapeRenderer lineandshaperenderer = new LineAndShapeRenderer(); CategoryPlot categoryplot = new CategoryPlot(categorydataset, null, numberaxis, lineandshaperenderer); categoryplot.setDomainGridlinesVisible(true); // 创建第二个数据集 CategoryDataset categorydataset1 = createDataset(); NumberAxis numberaxis1 = new NumberAxis("销量"); BarRenderer barrenderer = new BarRenderer(); barrenderer .setBaseToolTipGenerator(new StandardCategoryToolTipGenerator()); CategoryPlot categoryplot1 = new CategoryPlot(categorydataset1, null, numberaxis1, barrenderer); categoryplot1.setDomainGridlinesVisible(true); // 创建组合数据集 CategoryAxis categoryaxis = new CategoryAxis(); CombinedDomainCategoryPlot combineddomaincategoryplot = new CombinedDomainCategoryPlot( categoryaxis); combineddomaincategoryplot.add(categoryplot, 2); combineddomaincategoryplot.add(categoryplot1, 1); // 创建图表对象 JFreeChart jfreechart = new JFreeChart("组合图", null, combineddomaincategoryplot, true); // 将图表已数据流的方式返回给客户端 ChartUtilities.writeChartAsPNG(response.getOutputStream(), jfreechart, 500, 270); } /** * 返回数据集 * * @return */ private static CategoryDataset createDataset() { // 时间维度 String[] category1 = { "第一季度", "第二季度", "第三季度", "第四季度" }; // 分类维度 String[] category2 = { "JAVA", "C/C++", "PHP" }; DefaultCategoryDataset defaultdataset = new DefaultCategoryDataset(); for (int i = 0; i < category1.length; i++) { String category = category1[i]; for (int j = 0; j < category2.length; j++) { String cat = category2[j]; // 模拟添加数据 defaultdataset.addValue(DataUtils.getRandomData(), cat, category); } } return defaultdataset; }}
web.xml略。。。
总结:
1、组合图的数据集主要有两个以上的数据集组成,通过CombinedDomainCategoryPlot对象的add()方法,将不同的数据集装载;
2、创建组合图使用JFreeChart对象的构造方法创建。
1 0
- JFreeChart—输出组合图表
- 利用JFreeChart生成组合图表
- JFreeChart图表
- JFreeChart logoJava图表 JFreeChart
- JFreeChart—输出柱形图
- JFreeChart—输出饼状图
- JFreeChart—输出折线图
- JFreeChart—输出区域图
- JFreeChart—输出时序图
- Java图表开发-JFreeChart
- JFreeChart网页图表例子
- 使用JFreeChart创建图表
- Struts2整合JFreeChart图表
- 使用JFreeChart生成图表
- JFreeChart开发各种图表
- JFreeChart 图表使用
- JFreeChart 生成图表
- jfreeChart图表绘制介绍
- DML-数据更新
- struts 2 上传文件的位置
- POJ 1502 MPI Maelstrom (简单最短路,多种算法均可)
- java基础—IO流——转换流的操作
- 轻松搞定面试中的二叉树题目
- JFreeChart—输出组合图表
- 网络 -文件上传
- [Leetcode.python] 002. Add Two Numbers
- android 网络编程之网络通信几种方式实例分享
- C#写入和读出文本文件
- JS中冒号的作用
- hadoop 2.5.2 完全分布式集群环境搭建 (1)
- Handler,MessageQueue Loop 和Message的原理解析
- Modbus 协议简介