nbr*_*n12 11 python matplotlib
面向对象的matplotlib子图接口很不错,但在调用包含类似行的函数时,我很难使用它plt.plot(x, y.这些函数可以plt.subplot()轻松使用,但是可以使用给定的轴对象设置活动子图吗?具体来说,我想要以下内容绘制成两个单独的子图:
import matplotlib.pyplot as plt
x = [0 ,1, 2]
y= [0 ,1 2]
fig, axs = plt.subplots(2,1)
plt.some_function_to_set_active_subplot(axs[0])
plt.plot(x, y)
plt.some_function_to_set_active_subplot(axs[1])
plt.plot(x, y)
Run Code Online (Sandbox Code Playgroud)
有这样的功能some_function_to_set_active_subplot吗?
编辑:我特意不能使用ax.plot,或类似的东西.我基本上是在询问如何将面向对象的界面与matlab风格的界面混合在一起.
编辑2:我也不想使用它们plt.subplot.我想使用OO接口来设置子图,并使用matlab风格进行实际绘图.
Mol*_*lly 14
您可以使用plt.axes设置当前活动轴.从文档:"轴(h),其中h是轴实例,使h成为当前轴."
import matplotlib.pyplot as plt
x = [0 ,1, 2]
y = [10 ,20, 30]
fig, axs = plt.subplots(2,1)
plt.axes(axs[0])
plt.plot(x,y)
plt.axes(axs[1])
plt.plot(y,x)
plt.show()
Run Code Online (Sandbox Code Playgroud)
此方法plt.axes已弃用。使用plt.sca来代替。按照上面的例子:
import matplotlib.pyplot as plt
x = [0 ,1, 2]
y = [10 ,20, 30]
fig, axs = plt.subplots(2,1)
plt.sca(axs[0])
plt.plot(x,y)
plt.sca(axs[1])
plt.plot(y,x)
plt.show()
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10862 次 |
| 最近记录: |