簡體   English   中英

繪制Matplotlib中的特定軸

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM