JFreeChart学习笔记--解决中文乱码

org.jfree.chart.JFreeChart:图表对象,任何类型的图表的最终表现形式都是在该对象进行一些属性的定制。JFreeChart引擎本身提供了一个工厂类用于创建不同类型的图表对象
org.jfree.data.category.XXXDataSet:数据集对象,用于提供显示图表所用的数据。根据不同类型的图表对应着很多类型的数据集对象类
org.jfree.chart.plot.XXXPlot:图表区域对象,基本上这个对象决定着什么样式的图表,创建该对象的时候需要Axis、Renderer以及数据集对象的支持
org.jfree.chart.axis.XXXAxis:用于处理图表的两个轴:纵轴(RangeAxis)和横轴(DomainAxis)
org.jfree.chart.render.XXXRender:负责如何显示一个图表对象
org.jfree.chart.urls.XXXURLGenerator:用于生成Web图表中每个项目的鼠标点击链接
XXXXXToolTipGenerator:用于生成图象的帮助提示,不同类型图表对应不同类型的工具提示类.


1、DataSet的类型
PieDataset接口,实现类是DefaultPieDataset,用来作为饼图的数据源
CatagoryDataset接口,实现类是DefaultCatagoryDataset,用来作为柱状图的数据源(当然,接口IntervalXYDataset也可作为它的数据源)
CatagoryDataset接口和XYDataset接口可以作为折线图的数据源
XYDataset接口,实现类是TimeSeriesCollection,作为时间序列图的数据源
2、ChartFactory工厂类,由它来产生JFreeChart对象
3、Plot对象,通过JFreeChart对象得到,然后通过Plot对象对图形内部进行进一步调整(例如,折线的类型等),当然,对于不同类型的图形,有不同的实现子类。

4.中文乱码问题

  1.          plot.getDomainAxis().setLabelFont(font); //x轴外围字体
  2.          plot.getDomainAxis().setTickLabelFont(font); //x轴刻度字体
  3.          plot.getRangeAxis().setLabelFont(font);  //y轴外围字体
  4.          plot.getRangeAxis().setTickLabelFont(font); //y轴刻度字体
  5.          jfreechart.getTitle().setFont(new Font("宋体", Font.CENTER_BASELINE, 20)); //标题字体
  6.          jfreechart.getLegend().setItemFont(font); //设置最底下方框内的字体

5.//   设置图表的背景颜色  
  chart.setBackgroundPaint(new   Color(11,   95,   141));  
   
  //   自定义图表的标题的字体和颜色  
  TextTitle   title   =   chart.getTitle();  
  title.setFont(new   Font("汉真广标",   Font.BOLD,   25));  
  title.setPaint(Color.YELLOW);  
   
  //   获得图表对象的引用  
  PiePlot   plot   =   (PiePlot)   chart.getPlot();  
  GradientPaint   bg   =   new   GradientPaint(0,50,new Color(248,253,255),0,250,new Color(205,237,252));  
  plot.setBackgroundPaint(bg);  
   
  //   设置饼图各组成部分的绘制颜色  
  Color   color[]   =   new   Color[lossTitle.length];  
  color[0]   =   new   Color(99,99,0);  
  color[1]   =   new   Color(255,169,66);  
  color[2]   =   new   Color(255,0,66);  
  for(int i  =  0;i < color.length;i++)  
  {  
  plot.setSectionPaint(i,   color[i]);  
  //   分离显示饼图中表示"JAVA"的那部分圆弧  
  if   (lossTitle[i].equals("损耗电量"))  
  plot.setExplodePercent(i,   0.15);  
  }  
  //   设置是否使用反锯齿功能  
  //chart.setAntiAlias(false); 
  //   设置饼图标签的绘制字体  
  plot.setLabelFont(new   Font("Courier   New",   Font.PLAIN,   12));  
  //   设置饼图的外观为椭圆形还是正圆形  
  plot.setCircular(false);  
  //   结束自定义图表绘制的相关属性  
  ChartRenderingInfo info = new ChartRenderingInfo(new StandardEntityCollection());  
   
  // 设置图片生成格式  
  String fileName = ServletUtilities.saveChartAsPNG(chart,   width,   height,   info,   session);  
   
  //  设置图片生成路径  
  String graphURL = request.getContextPath()   +   "/servlet/DisplayChart?filename="   +   fileName;

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值