`
357029540
  • 浏览: 735004 次
  • 性别: Icon_minigender_1
  • 来自: 重庆
社区版块
存档分类
最新评论

JFreeChart中的块状图

    博客分类:
  • JAVA
阅读更多
在Servlet中的代码:

package com.lyb.pic;

import java.awt.Color;
import java.awt.Font;
import java.io.IOException;

importjavax.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 Area extendsHttpServlet{

public voiddoGet(HttpServletRequest request,HttpServletResponse response)throws IOException {
  doPost(request,response);
}
public void doPost(HttpServletRequestrequest,HttpServletResponse response) throws IOException {
  //设置返回类型
  response.setContentType("image/png");
  //设置返回字体
  response.setCharacterEncoding("utf-8");
  //获取数据集
  CategoryDataset cd =getData();
 
  JFreeChart jfc =ChartFactory.createAreaChart("我的书籍", "组成", "比例", cd,PlotOrientation.VERTICAL, true, true, false);
  //设置标题字体,防止中文乱码
  jfc.getTitle().setFont(newFont("黑体", 0, 15));
  //设置图例字体,防止中文乱码
  jfc.getLegend().setItemFont(newFont("黑体", 0, 10));
  //获取图表区域对象
  CategoryPlot cp =jfc.getCategoryPlot();
  //设置前景色透明度
  cp.setForegroundAlpha(0.8F);
  //设置X轴偏移量
  cp.setAxisOffset(newRectangleInsets(5D, 5D, 5D, 5D));
  //设置背景色为浅灰色
  cp.setBackgroundPaint(Color.lightGray);
  //设置显示网格线
  cp.setDomainGridlinesVisible(true);
  //设置网格线为白色
  cp.setDomainGridlinePaint(Color.white);
  //设置显示边界线
  cp.setRangeGridlinesVisible(true);
  //设置显示边界线为白色
  cp.setRangeGridlinePaint(Color.white);
  //获得X轴对象
  CategoryAxis categoryaxis =cp.getDomainAxis();
  //设置标签的字体,防止中文乱码
  categoryaxis.setLabelFont(newFont("黑体", 0, 10));
  //设置图例上方的标签字体
  categoryaxis.setTickLabelFont(newFont("黑体", 0, 10));
  //设置X轴标签位置为45度角
  categoryaxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45);
  //设置与X轴的补白为0
  categoryaxis.setLowerMargin(0.0D);
  categoryaxis.setUpperMargin(0.0D);
  //设置竖轴的标签字体
  cp.getRangeAxis().setLabelFont(newFont("黑体", 0, 10));

  //将图表已数据流的方式返回给客户端
  ChartUtilities.writeChartAsPNG(response.getOutputStream(),jfc,
    500,270);
}

private static CategoryDataset getData() {
  //时间维度,用于在x轴显示
  String [] c1 ={"第一季度","第二季度","第三季度","第四季度"};
  //分类的维度,由数量表示,在y轴显示
  String [] c2 ={"java","c","c++","动画"};
  //创建数据对象
  DefaultCategoryDataset dcd =new DefaultCategoryDataset();
  //通过双重for循环取出值,然后添加进dpd中
  for(int i = 0;i< c1.length;i++) {
   String c3 =c1[i];
   for(int j =0;j < c2.length;j++) {
    Stringc4 = c2[j];
    dcd.setValue(DataUtils.getNumber(),c4, c3);
   }
  }
  return dcd;
}
}



产生的假数据:

package com.lovo.pic;

import java.util.Random;

public class DataUtils {

private static Randomrandom = new Random();
private static final int NUMBER = 100;
public static int getNumber() {
  returnrandom.nextInt(NUMBER);
}
}



在xml中的代码:

<servlet>
   <servlet-name>area</servlet-name>
   <servlet-class>com.lyb.pic.Area</servlet-class>
</servlet>
<servlet-mapping>
   <servlet-name>area</servlet-name>
   <url-pattern>/area</url-pattern>
</servlet-mapping>
分享到:
评论

相关推荐

    JfreeChart-雷达图与导出

    JFreeChart是一款强大的Java图表库,它允许开发者在Java应用程序或网页中创建多种类型的图表,包括雷达图(也称为蜘蛛网图)。本篇将深入探讨如何利用JFreeChart生成雷达图以及相关的数据导出功能。 **雷达图的使用...

    java里用JFreeChart画柱状图、折线图、雷达图

    在Java编程环境中,JFreeChart库是一个强大的工具,用于创建各种复杂的图表,包括柱状图、折线图和雷达图。这些图表对于数据可视化和数据分析非常有用,可以帮助开发者直观地展示大量信息。以下是对给定文件中每个...

    jfreechart 生成折线图,饼图,柱状图,堆栈柱状图

    JFreeChart 是一个开源的Java库,用于生成高质量的2D图表,如折线图、饼图、柱状图和堆栈柱状图等。它广泛应用于数据分析、报告和应用程序中,提供丰富的自定义选项来满足各种视觉需求。在本项目中,你将找到能够...

    JFreeChart画雷达图

    在JFreeChart的`RadarPlot`类中,还有很多自定义选项可以改变雷达图的外观和行为,例如调整轴的起点和终点,设置轴线样式,以及改变填充区域的颜色和透明度。通过深入研究JFreeChart的API文档,你可以找到更多关于...

    JfreeChart中文教程+中文API

    1. **图表类型**:JFreeChart支持多种图表类型,包括饼图(Pie Chart)、柱状图(Bar Chart)、线图(Line Chart)、散点图(Scatter Plot)、甘特图(Gantt Chart)以及时间序列图(Time Series Chart)等,满足...

    jfreechart绘制的风速风向玫瑰图

    jfreechart绘制的风速风向玫瑰图 jfreechart是Java中一个流行的图表库,它提供了许多种类的图表,包括柱状图、折线图、饼图、雷达图等。本文主要介绍如何使用jfreechart绘制风速风向玫瑰图。 首先,了解jfreechart...

    jfreechart雷达图

    JFreeChart是一款强大的Java图表库,它允许开发者创建多种类型的图表,包括柱状图、饼图、线图、散点图以及我们今天关注的雷达图(也称为蜘蛛网图)。在Java应用程序中,JFreeChart提供了丰富的API,使得开发者能够...

    JFreechart 在linux下不显示及中文乱码问题

    JFreechart是一个Java库,用于生成高质量的2D图表,包括线图、柱状图、饼图等。这些问题可能与系统环境、字体配置、编码设置等因素有关。 **JFreechart不显示问题** JFreechart在Linux环境下不显示可能是由于以下...

    JFreeChart API 中文文档

    - **多种图表类型**:JFreeChart 支持线图、柱状图、饼图、散点图、面积图、甘特图、雷达图等多种图表类型,满足不同数据可视化需求。 - **自定义选项**:用户可以定制图表的各个方面,如颜色、字体、标签、图例等...

    用JFreeChart写的雷达图实例

    在Java编程环境中,JFreeChart是一个非常流行的库,用于创建各种复杂的图表,包括线图、柱状图、饼图以及我们的焦点——雷达图。本文将深入探讨如何利用JFreeChart库来实现一个雷达图实例,这有助于数据可视化,特别...

    java中关于JFreeChart实现实时曲线图

    在Java编程语言中,利用JFreeChart库实现实时曲线图是一种常见的数据可视化技术,尤其适用于需要实时监控或展示数据变化的应用场景。JFreeChart是一个开源的Java图表库,提供了丰富的图表类型和自定义选项,使得...

    jfreechart中文学习文档

    JFreeChart 支持多种类型的折线图,如简单折线图、时间序列折线图等。 **2.5 XY 图** XY 图适用于需要精确控制坐标轴的场景,如科学数据可视化。JFreeChart 的 XY 图功能强大,能够满足大多数需求。 **2.6 时间...

    JFreeChart中文API详解

    这个压缩包里面有三个...JFreeChart+API一览.doc JFreeChart中文API(1).mht JFreeChart中文文档.htm 内容差不多,都提供出来方便大家看 主要是介绍了每个API的方法都是用来做什么用得,解释是中文的感觉还是比较有用的.

    Jfreechart中文示例(含注解说明,个人认为是比较全面的示例了)

    在JFreeChart中,`CategoryPlot`类用于创建柱状图。你可以通过设置`Renderer`来定制图表的样式,如颜色、标签等。示例中可能包含了如何添加数据系列、调整柱宽、设置坐标轴标签等操作。 ### 二、饼图(Pie Chart) ...

    jfreechart 堆栈柱状图跟折线图结合拼接

    jfreechart 堆栈柱状图跟折线图结合拼接 jar包请戳http://download.csdn.net/detail/a156435646/7424707

    java使用JFreeChart制作柱形图

    Java 使用 JFreeChart 创建柱形图是一种常见的数据可视化方法,尤其在数据分析和Web应用程序中。JFreeChart 是一个强大的开源库,它提供了多种图表类型,包括柱形图、饼图、线图等,使得开发者能够方便地将数据转化...

    JfreeChart中文帮助文档

    - **图表类型**:JfreeChart支持多种图表类型,如饼图(Pie Chart)、柱状图(Bar Chart)、线图(Line Chart)、面积图(Area Chart)、散点图(Scatter Plot)和甘特图(Gantt Chart)等,适用于展示不同类型的...

    JFreeChart画曲线图

    在本示例中,我们将重点关注如何使用JFreeChart绘制曲线图,以及如何在数据点上显示具体的数据值。 首先,要使用JFreeChart,你需要在项目中引入其相关的jar文件。这个压缩包中包含的"jfreechartDemo"可能是一个...

    jfreechart生成图片及导出pdf 、excel

    JFreeChart是一款强大的Java图表库,它允许开发者在应用程序、Swing组件或Web应用中创建各种图表,如柱状图、饼图、折线图等。这个库支持丰富的定制选项,使得图表可以按照用户需求进行个性化设计。在这个...

Global site tag (gtag.js) - Google Analytics