区域图(Area Chart)与折线图类似,但其强调数据之间的变化幅度,能够直观的现实变化的区域。

实现代码:

AreaChartServlet.java

package com.lmb.jfreechart;import java.awt.Color;
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.ChartFactory;
import org.jfree.chart.ChartUtilities;
import org.jfree.chart.JFreeChart;
import org.jfree.chart.axis.CategoryAxis;
import org.jfree.chart.axis.CategoryLabelPositions;
import org.jfree.chart.plot.CategoryPlot;
import org.jfree.chart.plot.PlotOrientation;
import org.jfree.data.category.CategoryDataset;
import org.jfree.data.category.DefaultCategoryDataset;
import org.jfree.ui.RectangleInsets;public class AreaChartServlet extends HttpServlet {private static final long serialVersionUID = 5852523271721922574L;public AreaChartServlet() {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 dataset = createDataset();// 创建图形对象JFreeChart jfreechart = ChartFactory.createAreaChart("08年图书销售量排名","按季度", "销量", dataset, PlotOrientation.VERTICAL, true, true,false);// 获得图表区域对象CategoryPlot categoryplot = (CategoryPlot) jfreechart.getPlot();//设置前景色为50%透明categoryplot.setForegroundAlpha(0.5F);//设置X轴偏移量categoryplot.setAxisOffset(new RectangleInsets(5D, 5D, 5D, 5D));//设置北景色为浅灰色categoryplot.setBackgroundPaint(Color.lightGray);//设置显示网格线categoryplot.setDomainGridlinesVisible(true);//设置网格线为白色categoryplot.setDomainGridlinePaint(Color.white);//设置显示边界线categoryplot.setRangeGridlinesVisible(true);//设置显示边界线为白色categoryplot.setRangeGridlinePaint(Color.white);//获得X轴对象CategoryAxis categoryaxis = categoryplot.getDomainAxis();//设置X轴标签位置为45度角categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);//设置与X轴的补白为0categoryaxis.setLowerMargin(0.0D);categoryaxis.setUpperMargin(0.0D);// 将图表已数据流的方式返回给客户端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、利用CategoryDataset数据集绘制区域图;

2、对应创建区域图的方法是createAreaChart();

3、利用CategoryAxis对象设置绘制区域的显示方式;

【JFreeChart】JFreeChart—输出区域图相关推荐

  1. Java通过JfreeChart生成转Base64图片字符串(饼图、折线图、柱状图、折线图-多条、3D柱状图、气泡图、时序图、曲线图、区域图、分布图、联合分类图、双X轴图、K线图、柱状图-横向等图)

    工具类 CreatLineChart.java package DrawLine;import java.awt.BasicStroke; import java.awt.Color; import ...

  2. 【JFreeChart】JFreeChart—输出折线图

    实现代码: LineChartServlet.java package com.lmb.jfreechart;import java.awt.BasicStroke; import java.awt. ...

  3. 【JFreeChart】JFreeChart—输出时序图

    时序图(Time Series Chart)是按照时间轴显示的图形.通常可以按照年.月.日等时间周来显示. 实现代码: TimeChartServlet.java package com.lmb.jf ...

  4. java导出pdf报告之六:使用jfreechart生成饼状图和柱状图

    关于使用jfreechart生成饼状图和柱状图网上也有一大推,我在这里也不做太多介绍,就直接附上我的实现,并添加了一下注释,供大家参考. 生成饼状图: /*** @param name 图片的名称* ...

  5. JFreeChart应用实例-折线图

    http://www.tuicool.com/articles/Nr2Yna JFreeChart在制作折线图的时候可以使用两种不同的方式 package Line;import java.awt.C ...

  6. JfreeChart 生成图表-雷达图

    1.雷达图 第一步:生成jfreechart DefaultCategoryDataset dataset = new DefaultCategoryDataset(); String group1 ...

  7. 【JFreeChart】自定义蜘蛛网图生成带刻度三角雷达图 自定义文字风格 背景色

    工作中需要生成PDF 且包含图表.iText 或其他 可以访问网页地址转PDF.但是效果不是特别理想.故用iText代码方式实现生成PDF.奈何图表又是一个问题(还是个三角形的雷达图).Java端生成 ...

  8. linux+qt4.8画波形图,Qt画笔实现波形区域图

    参考文章:https://blog.csdn.net/yuxing55555/article/details/79752978 效果图: void WareArea::paintEvent(QPain ...

  9. JFreeChart| JFreeChart组合图表(Combined Charts)

    前言 JFreeChart支持几个图区类(可以管理着多个子类)组合而成的图表. 图区类可以管理几个子类: CombinedDomainCategoryPlot / CombinedRangeCateg ...

最新文章

  1. 总结Hbase 与 MongoDB
  2. python matplotlib animation制作世界人口变动动画
  3. javascript中的console.log有什么作用?
  4. Reactive Streams规范及常见库
  5. Android Studio安装应用时报错 installation failed with message Failed to finalize session......
  6. [TP5填坑]关于助手函数input一不小心取不到get值的解决办法
  7. 数据结构(哈夫曼树,哈夫曼编码)入门篇,JAVA实现
  8. java原生的ajax怎么写_原生Ajax代码实现
  9. javascript 弹出窗口中是否显示地址栏
  10. 手把手教你制作R包(一)
  11. 六度分离理论在社会工程学中的应用
  12. Infor SunSystems咨询服务市场报告-市场规模、市场份额、市场定位、产品类型以及发展规划
  13. 国内怎么使用chatGpt
  14. AI原创生成器1.3版-9大改动
  15. corosync/openais+pacemaker+drbd+web实现web服务高可用集群
  16. SAP MM 无价值物料管理的一种实现思路
  17. 编译高博ORBSLAM2_with_pointcloud_map,ros下用kinect进行测试。
  18. 使用canvas画迁徙线并加上动态效果与小飞机图标
  19. 省市县区镇街道可查询地址
  20. Arduino智能小车电机控制方向及运动

热门文章

  1. There is no public key available for the following key IDs
  2. Adhesive框架系列文章--Mongodb数据服务使用实践
  3. .NET开源社区存在的问题
  4. Android仿QQ5.0侧滑菜单ResideMenu的使用和源码分析
  5. Django 视图的FBV 与 CBV
  6. Android中的资源复用小技巧
  7. 在android studio中配置ndk开发环境
  8. stm32f405xx.h头文件的问题Undefined symbol IS_TIM_BREAK_INSTANCE
  9. CentOS7,zabbix3.4通过,zabbix-Java-gateway监控Tomcat
  10. php实现隐藏字符串的功能