Увеличьте ширину баров при использовании jfreechart - PullRequest
1 голос
/ 28 марта 2012

Я использую StackedBarChart в API jfreechart для отображения записей no.records в таблице, которая поступает из базы данных. Есть 82 таблицы, которые я ставлю на оси домена и нет. записей по оси Range. Но проблема, с которой я сталкиваюсь, заключается в том, что из-за большого количества таблиц на оси домена ширина полосы уменьшается.

Ниже мой код:

private JFreeChart createChart(CategoryDataset dataset)
    {
            JFreeChart chart = ChartFactory.createStackedBarChart(
             "Stacked Bar Chart", "Task Description", "No_Of_Records", dataset,
                        PlotOrientation.VERTICAL, true, true, false);

        CategoryPlot categoryplot = (CategoryPlot)chart.getPlot();
        CategoryAxis categoryaxis = categoryplot.getDomainAxis();
        categoryaxis.setMaximumCategoryLabelWidthRatio(100);
        categoryaxis.setLowerMargin(0.02D);
        categoryaxis.setUpperMargin(0.02D);

        NumberAxis numberaxis = (NumberAxis)categoryplot.getRangeAxis();
        numberaxis.setStandardTickUnits(NumberAxis.createIntegerTickUnits());
        numberaxis.setRange(0.0D, 1000D);
        BarRenderer barrenderer = (BarRenderer)categoryplot.getRenderer();
        barrenderer.setDrawBarOutline(false);
        GradientPaint gradientpaint = new GradientPaint(0.0F, 0.0F, Color.blue, 0.0F, 0.0F, new Color(0, 0, 64));
        barrenderer.setSeriesPaint(0, gradientpaint);

        return chart;
}

Я пытался использовать

 setItemMargin();
 setMaxWidth();
 setMaximumBarWidth();

на BarRenderer, но все напрасно ..

Любая помощь приветствуется

С уважением,

1 Ответ

1 голос
/ 29 марта 2012

Вы можете поэкспериментировать с setCategoryMargin().Кроме того, посмотрите, как это выглядит, если щелкнуть правой кнопкой мыши и увеличить.

...