Bar JFree图表y轴

时间:2012-08-24 10:26:35

标签: jfreechart

我想使用jfree图表显示条形图。我能够在y轴上显示字符串数据 像y轴上的A 0,B 100但是条形显示很长。条形图没有以适当的格式显示。 如何在我的数据集中将y值编码为整数,同时仍然必须以该格式显示上面显示的字符串数据?

1 个答案:

答案 0 :(得分:3)

SymbolAxis需要为每个数字值设置a,因此您需要提供101个值(0 - 100),而不是代码中的11个

尝试替换

SymbolAxis rangeAxis=new SymbolAxis("", new String[] {"Poor    0", "10","20", "30", "40", "Avg.     50","60","70","80","90","Best   100"});
plot.setRangeAxis(rangeAxis);

//Provide a new Symbol Axis
String[] grade =  new String[101];
for (int i = 0 ; i < grade.length ; i ++){
    grade[i] = Integer.toString(i);
}
grade[0] = "Poor    0";
grade[100] = "Best   100";
grade[50] = "Avg.   50";
SymbolAxis rangeAxis = new SymbolAxis("", grade);
rangeAxis.setTickUnit(new NumberTickUnit(10));
rangeAxis.setAutoRange(false);
rangeAxis.setRange(0, 100);
plot.setRangeAxis(rangeAxis);

使用SymbolAxis#setTickUnit()来控制刻度线之间的间隔,然后你就可以得到一个图表线

enter image description here