读书人

JFreeChart 全面讲授(san)

发布时间: 2012-09-10 11:02:32 作者: rapoo

JFreeChart 全面讲解(san)

  1. public?class?ChartUtil?{ ?????//字体 ?
  2. ????private?static?final?Font?PLOT_FONT?=?new?Font("黑体",?Font.ITALIC?,?18); ?????/** ?
  3. ?????*?创建数据集合 ??????*?@return?XYDataset对象 ?
  4. ?????*/?????public?static?XYDataset?createDataset()?{ ?
  5. ????????//实例化TimeSeries对象 ?????????TimeSeries?timeseries?=?new?TimeSeries("Data"); ?
  6. ????????Day?day?=?new?Day(1,?1,?2008);??//实例化Day ?????????double?d?=?3000D; ?
  7. ????????//添加一年365天的数据 ?????????for?(int?i?=?0;?i?<?365;?i++)?{? ?
  8. ????????????d?=?d?+?(Math.random()?-?0.5)?*?10;?//创建随机数据 ?????????????timeseries.add(day,?d);?//向数据集合中添加数据 ?
  9. ????????????day?=?(Day)?day.next();? ?????????} ?
  10. ????????//创建TimeSeriesCollection集合对象 ?????????TimeSeriesCollection?timeSeriesCollection?=new?TimeSeriesCollection(timeseries); ?
  11. ????????//返回数据集合对象 ?????????return?timeSeriesCollection; ?
  12. ????} ?????/** ?
  13. ?????*?生成制图对象 ??????*?@return?JFreeChart对象 ?
  14. ?????*/?????public?static?JFreeChart?createChart(){ ?
  15. ????????//创建时序图对象 ?????????JFreeChart?chart?=?ChartFactory.createTimeSeriesChart( ?
  16. ????????????????"编程词典全国销量统计",???????//标题 ?????????????????"销售月份",?????????????????//时间轴标签 ?
  17. ????????????????"销量(份)",????????????????//数据轴标签 ?????????????????createDataset(),????????????????//数据集合 ?
  18. ????????????????false,??????????????????//是否显示图例标识 ?????????????????false,??????????????????????//是否显示tooltips ?
  19. ????????????????false);?????????????????//是否支持超链接 ?????????//设置标题字体 ?
  20. ????????chart.getTitle().setFont(new?Font("隶书",?Font.BOLD,?26)); ?????????//设置背景色 ?
  21. ????????chart.setBackgroundPaint(new?Color(252,175,134)); ?????????XYPlot?plot?=?chart.getXYPlot();????????//获取图表的绘制属性 ?
  22. ????????plot.setDomainGridlinesVisible(false);??//设置网格不显示 ?????????//获取时间轴对象 ?
  23. ????????DateAxis?dateAxis?=?(DateAxis)?plot.getDomainAxis(); ?????????dateAxis.setLabelFont(PLOT_FONT);???//设置时间轴字体 ?
  24. ????????//设置时间轴标尺值字体 ?????????dateAxis.setTickLabelFont(new?Font("宋体",Font.PLAIN,12)); ?
  25. ????????dateAxis.setLowerMargin(0.0);???????//设置时间轴上显示的最小值 ?????????//获取数据轴对象 ?
  26. ????????ValueAxis?valueAxis?=?plot.getRangeAxis(); ?????????valueAxis.setLabelFont(PLOT_FONT);??//设置数据字体 ?
  27. ????????DateFormat?format?=?new?SimpleDateFormat("MM月份");???//创建日期格式对象 ?????????//创—ateTickUnit对象 ?
  28. ????????DateTickUnit?dtu?=?new?DateTickUnit(DateTickUnitType.DAY,29,format); ?????????dateAxis.setTickUnit(dtu);??????????//设置日期轴的日期标签 ?
  29. ????????return?chart; ?????} ?
  30. }

读书人网 >Web前端

热点推荐