1

私は Jfreechart を初めて使用します。この問題の解決策を教えてください。jfree を使用して、563、258.855 などの特定のコード名を持つカテゴリのグラフを描画しています。これらの値を次のように割り当てたいと思います。ドメイン軸にラベルを付けますが、デフォルトでは値1、値2、値3などをカテゴリに割り当てています。今こんな感じです

しかし、私はそれを以下のようなものにしたい ここに画像の説明を入力

ここに私のコードがあります、

final CategoryDataset dataset1 = DatasetUtilities.createCategoryDataset("Month to Date Occurences","value", data);  


JFreeChart dualchart = ChartFactory.createBarChart(
    "Top Ten Diagnostic Occurences",         // chart title
    "Category",                 // domain axis label
    "Score",                // range axis label
    dataset1,                    // data
    PlotOrientation.HORIZONTAL, // orientation
    true,                       // include legend
    true,
    false
);



CategoryPlot plot = dualchart.getCategoryPlot();
plot.setRangeAxisLocation(AxisLocation.BOTTOM_OR_LEFT);
plot.setBackgroundPaint(Color.WHITE);
plot.setRangeGridlinePaint(Color.black); 


BarRenderer renderer= (BarRenderer) plot.getRenderer();
renderer.setItemMargin(0.0);


CategoryAxis domainAxis = plot.getDomainAxis ();
domainAxis.setCategoryMargin(0.30); //distance between series
NumberAxis rangeAxis = (NumberAxis) plot.getRangeAxis();
rangeAxis.setRange(0.0, 100.0);
rangeAxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());

return dualchart;

あなたの提案は大歓迎です、事前に感謝します。

4

1 に答える 1

1

コードが含まれていないdataset1ため、問題が何であるかを判断するのは困難ですが、次のようなものを使用すると:

private static CategoryDataset createDataset() {
    DefaultCategoryDataset dataset = new DefaultCategoryDataset();
    dataset.addValue(15, "1", "451");
    dataset.addValue(12, "1", "851");
    dataset.addValue(10, "2", "362");
    dataset.addValue(5,  "2",  "142");   
    return dataset;
}

次のようなチャートが得られます。

ここに画像の説明を入力

于 2012-06-12T11:17:55.683 に答える