JFreeChart图形报表实例

使用JFreeChart的生成饼状图和柱状图

饼状图柱状图

 


1。需要引入JFreeChart的,xxx.jar

 

2。制作一个饼状图

 

3.制作一个柱状图

 

4.注意
在网页中引用图片的时候会对图片进行缓存,我们需要这样处理<img src="images/jobChart.png?xx=<%=new Date().getTime() %>"/>

5.一些参数设置

ValueAxis   rangeAxis   =   plot.getRangeAxis(); 
  //设置最高的一个   Item   与图片顶端的距离 
  rangeAxis.setUpperMargin(0.15); 
  //设置最低的一个   Item   与图片底端的距离 
  rangeAxis.setLowerMargin(0.15); 
  //设置Y轴的最小值 
  rangeAxis.setLowerBound(0); 
  //设置Y轴的最大值 
  rangeAxis.setUpperBound(600);Top

 
我用如下方法解决了这个问题: 
  
  NumberAxis   axis   =   (NumberAxis)chart.getCategoryPlot().getRangeAxis(); 
  axis.setTickUnit(new   NumberTickUnit(0.5D);//0.5为一个间隔单位 
  axis.setTickUnit(new   NumberTickUnit(1D);//1为一个间隔单位 

 

setAutoTickUnitSelection(false); //数据轴的数据标签是否自动确定(默认为true),然后可以进行上面所讲的。 
  其他一些关于AXIS类的方法: 
  
  
  Axis类: 
  void   setVisible(boolean   flag) 坐标轴是否可见 
  void   setAxisLinePaint(Paint   paint) 坐标轴线条颜色(3D轴无效) 
  void   setAxisLineStroke(Stroke   stroke) 坐标轴线条笔触(3D轴无效) 
  void   setAxisLineVisible(boolean   visible) 坐标轴线条是否可见(3D轴无效) 
  void   setFixedDimension(double   dimension) (用于复合表中对多坐标轴的设置) 
  void   setLabel(String   label) 坐标轴标题 
  void   setLabelFont(Font   font) 坐标轴标题字体 
  void   setLabelPaint(Paint   paint) 坐标轴标题颜色 
  void   setLabelAngle(double   angle)` 坐标轴标题旋转角度(纵坐标可以旋转) 
  void   setTickLabelFont(Font   font) 坐标轴标尺值字体 
  void   setTickLabelPaint(Paint   paint) 坐标轴标尺值颜色 
  void   setTickLabelsVisible(boolean   flag) 坐标轴标尺值是否显示 
  void   setTickMarkPaint(Paint   paint) 坐标轴标尺颜色 
  void   setTickMarkStroke(Stroke   stroke) 坐标轴标尺笔触 
  void   setTickMarksVisible(boolean   flag) 坐标轴标尺是否显示 
  
  ValueAxis(Axis)类: 
  void   setAutoRange(boolean   auto) 自动设置数据轴数据范围 
  void   setAutoRangeMinimumSize(double   size) 自动设置数据轴数据范围时数据范围的最小跨度 
  void   setAutoTickUnitSelection(boolean   flag) 数据轴的数据标签是否自动确定(默认为true) 
  void   setFixedAutoRange(double   length) 数据轴固定数据范围(设置100的话就是显示MAXVALUE到MAXVALUE-100那段数据范围) 
  void   setInverted(boolean   flag) 数据轴是否反向(默认为false) 
  void   setLowerMargin(double   margin) 数据轴下(左)边距 
  void   setUpperMargin(double   margin) 数据轴上(右)边距 
  void   setLowerBound(double   min) 数据轴上的显示最小值 
  void   setUpperBound(double   max) 数据轴上的显示最大值 
  void   setPositiveArrowVisible(boolean   visible) 是否显示正向箭头(3D轴无效) 
  void   setNegativeArrowVisible(boolean   visible) 是否显示反向箭头(3D轴无效) 
  void   setVerticalTickLabels(boolean   flag) 数据轴数据标签是否旋转到垂直 
  void   setStandardTickUnits(TickUnitSource   source) 数据轴的数据标签(可以只显示整数标签,需要将AutoTickUnitSelection设false) 
  
  NumberAxis(ValueAxis)类: 
  void   setAutoRangeIncludesZero(boolean   flag) 是否强制在自动选择的数据范围中包含0 
  void   setAutoRangeStickyZero(boolean   flag) 是否强制在整个数据轴中包含0,即使0不在数据范围中 
  void   setNumberFormatOverride(NumberFormat   formatter) 数据轴数据标签的显示格式 
  void   setTickUnit(NumberTickUnit   unit) 数据轴的数据标签(需要将AutoTickUnitSelection设false) 
  
  DateAxis(ValueAxis)类: 
  void   setMaximumDate(Date   maximumDate) 日期轴上的最小日期 
  void   setMinimumDate(Date   minimumDate) 日期轴上的最大日期 
  void   setRange(Date   lower,Date   upper) 日期轴范围 
  void   setDateFormatOverride(DateFormat   formatter) 日期轴日期标签的显示格式 
  void   setTickUnit(DateTickUnit   unit) 日期轴的日期标签(需要将AutoTickUnitSelection设false) 
  void   setTickMarkPosition(DateTickMarkPosition   position) 日期标签位置(参数常量在org.jfree.chart.axis.DateTickMarkPosition类中定义) 
  
  CategoryAxis(Axis)类: 
  void   setCategoryMargin(double   margin) 分类轴边距 
  void   setLowerMargin(double   margin) 分类轴下(左)边距 
  void   setUpperMargin(double   margin) 分类轴上(右)边距 
  void   setVerticalCategoryLabels(boolean   flag) 分类轴标题是否旋转到垂直 
  void   setMaxCategoryLabelWidthRatio(float   ratio) 分类轴分类标签的最大宽度

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值