2011-10-23 9 views
1

ステップ倍のはJFreeChartれるCategoryAxisは、私は、データセットを生成する方法を持た

JFreeChart chart = ChartFactory.createBarChart(chartTitle, 
       xaxis, // domain axis label 
       yaxis, // range axis label 
       dataset, // data 
       orientation, // orientation 
       true, // include legend 
       true, // tooltips? 
       false // URLs? 
       ); 

アレイは、ヒストグラムデータを保持するので、255個の値が存在します。

グラフを表示するとき、 のラベルはすべてx軸に0〜255の値があります。私はいくつかのインデックス(例えば、0,10,20,30)のラベルのみを表示したい。 RangeAxisにはsetStandardTickUnitsメソッドがあることがわかりました。しかしCategoryAxisで:

CategoryAxis domainAxis = plot.getDomainAxis(); 

私はこれを見つけませんでした。

助けが必要ですか?

答えて

1

次のようにあなたが試すことができ、あなただけのNumberAxis型にplot.getRangeAxis()をキャスト必要です--that

NumberAxis vn = (NumberAxis) plot.getRangeAxis(); 
vn.setTickUnit(new NumberTickUnit(10d)); 
vn.setRange(0D, Math.ceil(factor * MAX_VALUE)); 

+0

は、y軸、このありませんか? –

0

同じ問題がありました。私は 'Comparable'を実装する新しいクラスを作成し、それをaddValue(...)の最後のパラメータとして使用しました。あなたは

class MyCategory implements Comparable<MyCategory> { 
    Integer value; 
    String stValue; 

    MyCategory(int val) { 
     value = val; 
     stValue = val%10==0?""+val:"";} 

    public int compareTo(MyCategory key) { return value.compareTo(key.value); } 

    public String toString() { return stValue; } 
} 

のようなものを作成することができます。そして代わりの

dataset.addValue(arr[i], "mySeries", new Integer(i)); 

使用

dataset.addValue(arr[i], "mySeries", new MyCategory(i)); 
関連する問題