我有兩個類似的matplotlib代碼片段產生不同的結果。matplotlib NaN's和pylab NaN的
1:
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(0,10,100)
y = np.linspace(0,10,100)
y[10:40] = np.nan
plt.plot(x,y)
plt.savefig('fig')
2:
from pylab import *
x = linspace(0,10,100)
y = linspace(0,10,100)
y[10:40] = np.nan
plot(x,y)
savefig('fig')
代碼#1產生與具有不同顏色
代碼#2的實線填充在NaN的區域中的直線用直線產生一個圖形,但不會用一條線填充NaN區域。相反,那裏存在差距。
如何讓代碼#1產生代替NaN的代碼#2的差距。我一直在Google上搜索幾天,並且什麼都沒有提出。任何幫助或建議,將不勝感激。在此先感謝
這兩個是相同的。如果您將同一條線繪製兩次,並且第一個沒有「NaN」,則您得到「NaN區域的直線用不同顏色的實線填充的直線」是唯一的方法。你是在一起運行這兩段代碼嗎?如果是這樣,他們將在同一個數字上繪圖。 –
我使用內聯後端得到相同的數字。你使用了哪個後端? –
你幾乎可以肯定地看到你在相同的'ipython'(或類似的)會話中繪製的效果。如果您在長時間運行的交互式會話中工作,始終明確地創建一個新數字是一個好主意。 –