首先说明这不是一篇入门的文章,而是在使用过程周遇到问题并解决的总结。
一.乱码问题
java乱码问题无处不再。我们经常遇到的问题就是因为编码问题而引起的乱码。但是当使用开源报表工具的时候,会发现,解决问题的表面步骤不是改变编码,而是改变项目的字体,jaserperreport是这样,jfreechart也是如此。
下面代码行是解决办法
//中文乱码解决
Font font = new Font("SimSun", 10, 20);
CategoryPlot plot = (CategoryPlot) chart.getPlot();
// x轴外围字体
plot.getDomainAxis().setLabelFont(font);
// x轴刻度字体
plot.getDomainAxis().setTickLabelFont(font);
// y轴外围字体
plot.getRangeAxis().setLabelFont(font);
// y轴刻度字体
plot.getRangeAxis().setTickLabelFont(font);
// 标题字体
chart.getTitle().setFont(font);
上面是我从解决柱状图乱码中摘取出来。注意plot 在不同的图中所引用的具体对象是不一样的,Plot接口中没有getDomainAxis()等方法。如果在饼图中用这些方法就会出错。还有在饼图中设置legend中文乱码的问题如下
chart.getLegend().setItemFont(font);
二.让横轴坐标刻度标签倾斜(暂未验证)
方法示例如下
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setCategoryLabelPositions(
CategoryLabelPositions.createUpRotationLabelPositions(
Math.PI / 6.0));
让label以30度倾斜
三.