2017-07-26 1 views
1

私は単純な折れ線グラフをプロットしようとしていますが、ほとんどすべてがうまくいけば、データセットに次のような単純なコードを設定しています:X軸の値の代わりに3つのドット(...)が表示されます

その後、
DefaultCategoryDataset dataset = new DefaultCategoryDataset(); 
dataset.addValue(-10 , "S21" , "1000"); 
dataset.addValue(-20 , "S21" , "1001"); 
dataset.addValue(-25 , "S21" , "1002"); 
dataset.addValue(-30 , "S21" , "1003"); 
dataset.addValue(-25 , "S21" , "1004"); 
... 

私は、折れ線グラフの作成:

lineChart = ChartFactory.createLineChart(
    "S21", 
    "Frequency (MHz)", 
    "Value (db)", 
    dataset, 
    PlotOrientation.VERTICAL, 
    true, 
    true, 
    false); 

を、私は値軸Xに持っ1001 1002 1000年...とにかく私はいくつかのより多くのポイントを追加した場合、はJFreeChartはない、ということに気づいなどx軸に十分なスペースがなく、値の代わりに3つのドット(...)が表示されます。これはかなり奇妙ですが、私は好きなだけ多くの点を持っています(例えば、 の解像度を持つためには1000)が、これらの点の部分集合にしか表示されないので、odスペースを使い果たしません:

例ポイント:1000、1001、1002、...、2000(1000ポイント)

ラベル:1000、1100、1200、...、1900、2000(10のラベル)

ことは可能ですか?私はネット上の解決策を探しましたが、有用なものは何も見つかりませんでした。

答えて

1

あなたはいくつかのアプローチを組み合わせることする必要がある場合があります

  • が提案hereとしてCategoryLabelPositionsを変更します。

    CategoryAxis domainAxis = plot.getDomainAxis(); 
    domainAxis.setCategoryLabelPositions(
        CategoryLabelPositions.createUpRotationLabelPositions(Math.PI/2.0)); 
    
  • hereが示唆したように、グラフのサイズを調整します。 hereを示唆されるように

    ChartPanel piePanel = new ChartPanel(lineChart) { 
        @Override 
        public Dimension getPreferredSize() { 
         return new Dimension(640, 480); 
        } 
    }; 
    
  • 必要に応じて、カテゴリの数に応じて、SlidingCategoryDataset使用します。

  • 任意で、カテゴリが連続ドメインを形成する場合、XYプロットに切り替えます(例: ChartFactory.createXYLineChart()

image

+1

私は実際にちょうどのサイズで再生したり、ラベルを回転させることができ折れ線グラフで、どうもありがとうございました。私はXYラインチャートで私のケースを管理することができます。ありがとうございます! –

関連する問題