gpt4 book ai didi

jfreechart - 避免折线图的数据集中为空

转载 作者:行者123 更新时间:2023-12-04 21:44:27 28 4
gpt4 key购买 nike

我正在尝试使用 DefaultCategoryDataset 绘制 LineChart 并且我面临的问题是,
当我尝试在两个值之间绘制一个空值时,两个点之间的连接丢失(即没有出现连接两个点的线),或者我必须跳过空值(通过对每个数据集中的点)以连接其他两个点,这导致 x 轴点未绘制在我的图表上。

例如:如果我在 x 轴上有 Unit1、Unit2、Unit3 和一些值,比如每个值 10、20、30,它工作正常并绘制一条斜线。但是,而不是 Unit2 中的 20,如果我设置为 null,我只会在我的图表上绘制两个点,而没有连接这两个点的线。

为了绘制线条,我必须从我的 x 轴跳过 Unit2 点。
但我想要做的是我想在不跳过 Unit2 的情况下将 Unit1 连接到 Unit3(并且它的值保持为空),我不想绘制 0 而不是空。

有没有办法做到这一点?

最佳答案

您可以使用两个几乎相同的数据集,但使用两个渲染器。

第一个数据集应该包含所有数据,包括 null -值。将此数据集的渲染器配置为仅绘制形状(但不绘制线条)。您最终会为每个非 null 的数据点生成一个形状。

第二个数据集应该只包含不是 null 的数据.为此数据集配置另一个渲染器以仅绘制线条(但不绘制形状)。您将得到一条仅跳过空数据点但连续的行。

代码可能是这样的:

// create your chart here...

// configure first renderer
LineAndShapeRenderer renderer = LineAndShapeRenderer) plot.getRenderer();
renderer.setBaseShapesVisible(true);
renderer.setBaseLinesVisible(false);

// configure second renderer
LineAndShapeRenderer renderer2 = new LineAndShapeRenderer(true, false);
plot.setDataset(1, dataset2);
plot.setRenderer(1, renderer2);

嗯,
- 马丁

关于jfreechart - 避免折线图的数据集中为空,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16987389/

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