2013-12-12 72 views
2

我想合併contourf()圖和的scatter()圖,但是,添加散點圖會更改圖的軸。這裏一個小例子:matplotlib的散點圖改變另一個圖的軸

from matplotlib import pyplot as plt 
import numpy as np 

data = np.random.rand(10,10) 
plt.contourf(data) 
# plt.scatter(3, 7, s=200, color='k') 
plt.show() 

此腳本創建一些情節像這樣:

without scatter()

當取消註釋plt.scatter(3, 7, s=200, color='k')軸界限被改變,從而導致圍繞所述等高線圖的白框。 一個可能性是使用plt.xlimplt.ylim手動設置軸限制,但這似乎是一個不必要的麻煩。我該如何優雅地完成這項工作?

with scatter()

回答

5

添加

plt.xlim(auto=False) 
plt.ylim(auto=False) 

後右countorf線;或者你可能永遠做

xl, yl = plt.xlim(), plt.ylim() 

隨時隨地在你的代碼,你是幸福的x,y限制,然後在年底做

plt.xlim(xl) 
plt.ylim(yl) 
+0

非常有用的。我現在正在使用你的第一個例子。 – Chilichiller