Jfreechart 中条形图的宽度

2022-09-02 19:38:03

有没有办法调整条形图中条形图的宽度?

我使用以下代码创建图表。

final JFreeChart chart = ChartFactory.createBarChart("Report", // chart title
                "Date", // domain axis label
                "Number", // range axis label
                dataset, // data
                PlotOrientation.VERTICAL, // orientation
                true, // include legend
                true, // tooltips?
                false // URLs?
                );  

答案 1

您还可以设置条形图的最大宽度。如果你有一个宽图表,但偶尔只有一个或两个数据点,并且你不希望一个大胖条占据整个区域,这很有用。

CategoryPlot categoryPlot = chart.getCategoryPlot();
BarRenderer br = (BarRenderer) categoryPlot.getRenderer();
br.setMaximumBarWidth(.35); // set maximum width to 35% of chart

答案 2

您无法直接指定条形图的宽度,但可以更改一些影响宽度的属性。您应该查看由 CategoryAxis 定义的下边缘上边缘类别边缘属性或 BarRenderer 中的 itemMargin 属性。

例如:

    BarRenderer renderer = (BarRenderer) chart.getCategoryPlot().getRenderer();
    renderer.setItemMargin(.1);

中指定的双精度值是分类轴总长度的百分比,该百分比将用于同一类别中条形之间的间距(默认值为 .2 或 20%)。此值越小,柱线就越大。setItemMargin(double percent)


推荐