在matplotlib中使用函数子批次的ylabel
我最近发现了函数子地块,这似乎是一种比子地块更优雅的设置多个子地块的方法。但是,我似乎无法更改每个子地块的轴的属性在matplotlib中使用函数子批次的ylabel,matplotlib,subplot,Matplotlib,Subplot,我最近发现了函数子地块,这似乎是一种比子地块更优雅的设置多个子地块的方法。但是,我似乎无法更改每个子地块的轴的属性 import matplotlib.pyplot as plt import matplotlib as mpl import numpy as npx = np.linspace(0, 20, 100) fig, axes = plt.subplots(nrows=2) for i in range(10): axes[0].plot(x, i * (x - 10)*
import matplotlib.pyplot as plt
import matplotlib as mpl
import numpy as npx = np.linspace(0, 20, 100)
fig, axes = plt.subplots(nrows=2)
for i in range(10):
axes[0].plot(x, i * (x - 10)**2)
plt.ylabel('plot 1')
for i in range(10):
axes[1].plot(x, i * np.cos(x))
plt.ylabel('plot 2')
plt.show()
仅显示最后一个绘图的ylabel。xlabel、xlim和ylim也是如此
我意识到使用子地块的目的是创建子地块的通用布局,但是如果sharex和sharey设置为false,那么我是否可以更改一些参数
一种解决方案是使用子地块函数,但我需要这样做吗?是您可能希望使用单个子地块实例
正如您所发现的,plt.ylabel
设置最后一个活动绘图的ylabel。要更改单个轴的参数,即子批次,可以使用。要更改ylabel,可以使用轴[0]。设置ylabel(“绘图1”)
pyplot
,或您定义的plt
,是一个辅助模块,用于快速访问轴
和图
方法,而无需将这些对象存储在变量中。作为:
[Pyplot p]提供了一个类似于MATLAB的绘图框架
您仍然可以使用此界面,但需要调整当前处于活动状态的轴。为此,
pyplot
有一个方法,其中h
是轴的一个实例。因此,在您的示例中,您可以调用plt.axes(axes[0])
将第一个子批次设置为活动,然后调用plt.axes(axes[1])
设置另一个子批次 您可能希望将plt.ylabel
调用移到循环之外。它们都是相同的,每个子批只需要调用一次。