2012-03-28 132 views
0

我正在编写程序来生成burndown图表。 x轴是日期。 y轴显示特定日期的剩余小时数。问题在于所有日期都没有数据,因为它是燃尽图。所以这导致错误 -Python - Matplotlib - 在图表上绘制不完整的数据

"ValueError: x and y must have same first dimension" 

所以我的问题是什么默认值我可以分配给Y轴上的其余点? 如果这些信息不足,我会粘贴实际的代码。谢谢。

回答

2

我不确定这是否是你想要的,但通过使用蒙面数组,你可以避免绘制特定的点。看到我的回答here

或者你可能想要更类似于this的东西,它会在x轴上跳过它们并且不会绘制它们?

+0

我认为屏蔽阵列将是一个选项。所以我接受这个答案。然而,在我的情况下,我需要绘制两个图表,一个用于烧毁,直到今天(比如说),另一个是理想的烧录图表,直到里程碑结束。所以我发现我可以在同一个图上绘制这两个图表,其中一个将使用x轴值的一个子集,另一个将使用整个x轴。这样就解决了我的问题。谢谢。! – Sumod 2012-03-28 22:31:56

1

我知道这个问题是2 1/2岁,但我有一个类似的问题,绘制缺失数据的图,并认为被掩模的数组比他们需要的更复杂。

我的解决方案是将numpy.inf值放在我丢失数据的任何点,然后在调用matplotlib.pyplot.plot时使用'o-'选项。如果你没有数据,这会使行被打破,但是如果你有一个单一的数据点,在它的每一边缺少数据,你会得到一个圆圈。

唯一的缺点是,你最后在每一个点上都有圆圈,所以它可能不会很漂亮。