jfreechart生成多轴图形

1,创建数据的集合Dataset:
DefaultCategoryDataset defaultcategorydataset = new DefaultCategoryDataset();
往defaultcategorydataset 里面填数据
2,创建图形的展示方式Render:
   比如柱状图,则采用BarRenderer barrenderer = new BarRenderer();
3,新建一个CategoryPlot
CategoryPlot categoryplot = new CategoryPlot();
4,对CategoryPlot对象设置 dataset,设置render,设置DomainAxis,设置RangeAxis。
5,根据categoryPlot对象,生成图形:
JFreeChart jfreechart = new JFreeChart(categoryplot);
6,如果有多个数据集合,或者多个展示方式,多个RangeAxis等,则按上述方法新建各个对象。
   比如有两个数据集合,两个展示方式,两个RangeAxis。则对第2个对象进行如下设置:
  categoryplot.setDataset(1, defaultcategorydataset1); //设置第2个数据集合
  categoryplot.setRenderer(1, lineandshaperenderer);//设置第2个展示方式
  NumberAxis numberaxis = new NumberAxis("Axis 2");
  categoryplot.setRangeAxis(1, numberaxis);//新建和设置第2个RangeAxis.
   然后把RangeAxis和数据集合进行匹配:
   categoryplot.mapDatasetToRangeAxis(1, 1);//把索引为1的Dataset与索引为1的RangeAxis相关联
   按这种方式就能生成多种图形的组合。
7,画图时如果出现乱码问题,有可能是没有设置字体所致:
TextTitle textTitle = jfreechart.getTitle();
textTitle.setFont(new Font("黑体",Font.PLAIN,20));
domainAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,11));
domainAxis.setLabelFont(new Font("宋体",Font.PLAIN,12));
rangeAxis.setLabelFont(new Font("宋体",Font.PLAIN,12));
rangeAxis.setTickLabelFont(new Font("sans-serif",Font.PLAIN,11));

jfreechart.getLegend().setItemFont(new Font("sans-serif",Font.PLAIN,11));
   对各个显示的对象设置好字体后,即可正确显示中文。
 

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值