jfreechart疑难杂症解

首先说明这不是一篇入门的文章,而是在使用过程周遇到问题并解决的总结。

 

一.乱码问题

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度倾斜

 

三.

 

 

 

你可能感兴趣的:(jfreechart)