請原諒我可憐的python技巧,我對這門語言頗爲陌生!pyplot twinx()tickmark重疊
無論如何,我對目前從twinx()獲得的結果感到困惑。我不知道爲什麼當我孿生x軸時,右側y軸上的嘀嗒聲似乎翻了一番。
import matplotlib.pyplot as plt
x = linspace(0,2*pi,100)
y = sin(x) + 100*rand(len(x))
z = cos(x) + 100*rand(len(x))
data = []
data.append(y)
data.append(z)
fig = plt.figure(1)
for kk in range(len(data)):
ax1 = fig.add_subplot(111)
ax1.plot(x.T, data[kk], 'b.-')
plt.show()
第一條曲線顯示(在我看來),正確的行爲
fig2 = plt.figure(2)
for kk in range(len(data)):
ax3 = fig2.add_subplot(111)
ax4 = ax3.twinx()
ax4.plot(x.T, data[kk], 'b.-')
plt.show()
雖然第二個圖(所有我做的是翻轉軸)似乎也差ÿ剔行爲其中兩條「曲線」各自得到它們自己的刻度標記。
任何想法,爲什麼這可能會發生將不勝感激!
感謝您的回覆。請看看我的更新後的帖子與情節。我想知道這與我的安裝有什麼關係。我在Python 2.7.3和Ipython中使用OS X 10.8.2 0.12.1 –
感謝您添加顯示問題的圖像。這絕對不是正常的行爲。你是如何安裝matplotlib的? (例如'homebrew',matplotlib站點的二進制文件之一等) –
實際上,可能有一個更簡單的解釋。不要使用像'plt.figure(1)'這樣的調用,因爲它不會創建一個新圖形,它只是返回圖形編號1.只需使用'fig = plt.figure()'而不用編號參數完全。當您打算創建新圖形時,您可能在現有人物的舊軸上添加新軸。這會導致來自之前軸的滴答從剛添加的新軸後面「戳出」。 –