2012-03-28 36 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-'選項。如果你沒有數據,這會使行被打破,但是如果你有一個單一的數據點,在它的每一邊缺少數據,你會得到一個圓圈。

唯一的缺點是,你最後在每一個點上都有圓圈,所以它可能不會很漂亮。