gpt4 book ai didi

java - 瀑布图 - 条形图之间的空间

转载 作者:行者123 更新时间:2023-11-30 05:29:03 24 4
gpt4 key购买 nike

我正在使用 JFreeChart v1.5.0 并使用示例数据集创建瀑布图,如下面的代码所示。我能够在 BarRenderer API 的帮助下向使用 createBarChart() 创建的条形添加空间,但是当我使用 createWaterFallChart() 创建瀑布图并尝试使用相同的 BarRenderer API 向条形添加空间时,但我做不到。

我使用 setItemMargin(double) API 来实现输出,但没有任何反应。

private CategoryDataset createDataset() {
DefaultCategoryDataset dataset = new DefaultCategoryDataset();
dataset.addValue(15.76, "Series 1", "Group A");
dataset.addValue(-8.66, "Series 1", "Group B");
dataset.addValue(4.71, "Series 1", "Group C");
dataset.addValue(-3.51, "Series 1", "Group D");
dataset.addValue(32.64, "Series 1", "Group E");
return dataset;
}

public JFreeChart createChart() {
JFreeChart chart = ChartFactory.createWaterfallChart(
"Waterfall Chart",
"X-Axis",
"Y-Axis",
createDataset(),
PlotOrientation.VERTICAL,
true,
true,
false
);

CategoryPlot plot = (CategoryPlot) chart.getPlot();

NumberAxis yAxis = (NumberAxis)plot.getRangeAxis();
yAxis.setRange(0.0, 50.0);
yAxis.setTickUnit(new NumberTickUnit(10.0));
BarRenderer renderer = (BarRenderer) plot.getRenderer();
renderer.setDrawBarOutline(false);

//Spaces between bars - not working
renderer.setItemMargin(0.5);

return chart;
}

输出:

enter image description here

最佳答案

经过调试,我发现WaterfallBarRenderer忽略了renderer.setItemMargin(double)方法设置的值。

我可以使用下面的代码在条之间添加空格。

CategoryPlot plot = (CategoryPlot)chart.getPlot();
CategoryAxis categoryAxis = plot.getDomainAxis();
categoryAxis.setCategoryMargin(0.5);

enter image description here

关于java - 瀑布图 - 条形图之间的空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57929759/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com