2013-07-21 96 views
2

我畫了一個圖,我需要調用axes (aspect = 'equal'),以保持座標的比例。切割軸的邊界

但是,插入軸時,它也會插入一個邊框,如this figure(灰色區域是由軸()插入的邊框)。

我試圖設置xlim()和ylim(),但這些命令只對圖形起作用,而不是在邊框上。

請幫助設置軸邊界爲絕對0,並在同一時間設置方面equal

編輯:

下面是曲線圖的圖像 - 我只使用這個代碼設置數字。

(可以看出圖中周圍的白色邊界):

ax = plt.gca() 
ax.axis([0, 0, 1, 1]) 
ax.xaxis.set_visible(False) 
ax.yaxis.set_visible(False) 
[spine.set_visible(False) for spine in ax.spines.values()] 

...NETWORKX CALLS... 

xmax = max(points, key = lambda x : x[0])[0] 
ymax = max(points, key = lambda x : x[1])[1] 
xmin = min(points, key = lambda x : x[0])[0] 
ymin = min(points, key = lambda x : x[1])[1] 
xlim (xmin, xmax) 
ylim (ymin, ymax) 
show() 

我希望在最大使用框架空間,並且完全切割通過軸中使用的邊框。

enter image description here

+0

我知道這是困難的,因爲,即使我工作了約1年與matplotlib,我從來沒有遇到過這個問題。對於一個已經解決它的黑客來說,這應該是微不足道的;)。 – alinsoar

回答

2

如果我理解正確的問題,我認爲這應該達到你想要的東西:

ax = plt.gca() 

# Make axes occupy whole canvas 
ax.set_position([0,0,1,1]) 

# Same scale on x- and y-axes, change x- and y-limits to keep 
# axes ratio and position 
# 'equal' gives same scaling on x- and y-axes 
# 'datalim' changes the xlim and ylim to fit the axes inside its boundary 
ax.set_aspect('equal', 'datalim') 

ax.xaxis.set_visible(False) 
ax.yaxis.set_visible(False) 
[spine.set_visible(False) for spine in ax.spines.values()] 
+0

HEHEH!我怎麼不知道? – alinsoar

+0

對,優秀:) – alinsoar