最近刚使用JFreeChart 完成项目的图片导出任务,中文乱码问题整了一个下午,才搞定
Java代码
// 图片标题
chart.setTitle(new TextTitle(chart.getTitle().getText(), titleFont));
// 底部
chart.getLegend().setItemFont(kfont);
// X 轴
CategoryAxis domainAxis = plot.getDomainAxis();
domainAxis.setLabelFont(xfont);// 轴标题
domainAxis.setTickLabelFont(xfont);// 轴数值
domainAxis.setTickLabelPaint(Color.BLUE); // 字体颜色
domainAxis.setCategoryLabelPositions(CategoryLabelPositions.UP_45); // 横轴上的label斜显示
// Y 轴
ValueAxis rangeAxis = plot.getRangeAxis();
rangeAxis.setLabelFont(yfont);
rangeAxis.setLabelPaint(Color.BLUE); // 字体颜色
rangeAxis.setTickLabelFont(yfont);
}
用在
ChartFactory.createPieChart3D方法下会报错
org.apache.jasper.JasperException: java.lang.ClassCastException: org.jfree.chart.plot.PiePlot3D cannot be cast to org.jfree.chart.plot.CategoryPlot