[英]Plot to Specific Axes in Matplotlib
如何在matplotlib中繪制特定的軸? 我創建了自己的對象,它有自己的繪圖方法,並采用標准的args和kwargs來調整線條顏色,寬度等,我也希望能夠繪制到特定的軸。
我看到有一個axis屬性接受一個Axes對象,但無論它仍然只繪制到最后創建的軸。
這是我想要的一個例子
fig, ax = subplots(2, 1)
s = my_object()
t = my_object()
s.plot(axes=ax[0])
t.plot(axes=ax[1])
正如我在評論中所說,閱讀如何將pyplot函數附加到圖形實例? 用於解釋OO和matplotlib
狀態機接口之間的區別。
你應該修改你的繪圖功能
def plot(..., ax=None, **kwargs):
if ax is None:
ax = gca()
ax.plot(..., **kwargs)
您可以使用特定軸的繪圖功能:
import matplotlib.pyplot as plt
from scipy import sin, cos
f, ax = plt.subplots(2,1)
x = [1,2,3,4,5,6,7,8,9]
y1 = sin(x)
y2 = cos(x)
plt.sca(ax[0])
plt.plot(x,y1)
plt.sca(ax[1])
plt.plot(x,y2)
plt.show()
這應該繪制到兩個不同的子圖。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.