1

jfree chartを使って棒グラフを表示したい。Y 軸に A 0,B 100 のような文字列データを表示できますが、バーが長く表示されます。バーが適切な形式で表示されません。データセットでy値を整数としてエンコードする方法はありますが、上に表示されている文字列データをその形式で表示する必要がありますか?

4

1 に答える 1

3

にはSymbolAxis数値ごとに が必要なので、コードで 11 ではなく 101 の値 (0 ~ 100) を指定する必要があります。

交換してみる

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()目盛り間の間隔を制御するために使用 し、これをチャート ラインで取得する必要があります。

ここに画像の説明を入力

于 2012-08-24T12:06:31.467 に答える