對於迄今爲止所見的所有類型地塊,matplotlib
將自動將它們居中,當沒有給出xlim(), ylim()
值時。例如:Matplotlib將不會顯示默認居中的多邊形圖?
import matplotlib.pyplot as plt
A_pts = [(162.5, 137.5), (211.0, 158.3), (89.6, 133.7)]
ax = plt.subplot(111)
ax.scatter(*A_pts)
plt.show()
但是,當我繪製Polygon
ax = plt.subplot(111)
triangle = plt.Polygon(A_pts, fill=None, edgecolor='r')
ax.add_patch(triangle)
plt.show()
被示爲具有兩個軸,這導致在該多邊形不可見範圍[0, 1]
圖表窗口。我要明確地傳遞適當的限制,使其在圖形窗口
ax.set_xlim(80, 250)
ax.set_ylim(120, 170)
表明這是通過設計還是我失去了一些東西?
你試過'ax.relim()'和'ax.autoscale_view()'(從[這裏](http://stackoverflow.com/a/11039268/3026320)) ?我的意思是,它可能是設計,是一種更「基本」的繪製圖表數據的方式。 – berna1111
我知道有方法可以將限制傳遞給情節,我想知道爲什麼'matplotlib'在默認情況下不會爲這種類型的情節做這件事(當然我可以告訴)所有其他類型。 – Gabriel
我認爲這是設計,因爲'add_patch'不是一個真正的繪圖功能,而是一個藝術家控制功能。像'scatter'這樣的東西實際上會讓你從傳入的數據中創造藝術家 - 'add_patch'不會讓藝術家成爲藝術家,它只是將其放入Axes對象中。 – Ajean