2017-07-08 172 views
-1

我有兩個numpy.ndarray並且都具有相同數量的DATAS的如下:如何在matplotlib.pyplot中設置圖表的對齊方式?

data1 = [1,2,3,4,5,6,7,8,9] 
data2 = [Nan, Nan, Nan, 14,15,16,17,18,19] 

的時候,我繪製這些數據,數據1佔據窗口的整個寬度。但是由於data2有NaN,所以只有非NaN數據會顯示在窗口上,它們在中間。

如何設置matplotlib.pyplot,使它們在窗口的右側/邊緣對齊?


enter image description here

嗨,該screenshot1是實際情況。屏幕截圖2是我想要的,即圖表右對齊。

+0

請向我們展示您不希望的輸出 –

回答

0

添加x值(使用x-y對)可以幫助您根據需要調整數據。

plt.plot(x, data) 
plt.plot(x, data2) 
plt.show() 

其中x是一個數組例如[0,1,2,3,4,5,6,7,8]

+0

這不是一個好主意,因爲您必須添加另一個新陣列。 – thomas2004ch

+0

爲什麼會有這樣的問題? – phev8

0

可能不會繪製數據數組,但是在NaN情況下可能會有一個屏蔽數組。

import numpy as np 

data2_masked = np.ma.masked_array(data2, mask=np.isnan(data2) 

然後繪製屏蔽數組,而不是包含nan

+0

這沒有幫助。它和以前一樣。 – thomas2004ch

+0

如果我理解正確,你需要'data2'具有一個x軸從最小值到'data2'最大值的圖? –

相關問題