如何在 Matplotlib 中的子图之间共享次要 Y 轴?
要在 matplotlib 中的子图之间共享次要 Y 轴,我们可以采取以下步骤:
创建用于数据点的**x**。
向当前图形添加一个子图,**nrows=2**,**ncols=1**,位于**索引=1 (ax0)**
使用 twinx() 方法,创建一个具有共享 X 轴但独立 Y 轴的轴副本 (ax1)。
向当前图形添加一个子图,**nrows=2**,**ncols=1**,位于**索引=2 (ax2)**
使用 twinx() 方法,创建一个具有共享 X 轴但独立 Y 轴的轴副本 (ax3)。
使用**get_shared_y_axes()**方法,返回对 Y 轴共享轴**Grouper**对象的引用。
创建具有不同颜色、x 和 y 数据点的曲线**c1**、**c2**、**c3** 和**c4**。
要将图例框移动到图形的左上方,请使用带**bbox_to_anchor**的**legend**方法。
要显示图形,请使用**show()**方法。
示例
import numpy as np from matplotlib import pyplot as plt plt.rcParams["figure.figsize"] = [7.00, 3.50] plt.rcParams["figure.autolayout"] = True x = np.linspace(-2, 2, 10) ax0 = plt.subplot(211) ax1 = ax0.twinx() # Create a twin of Axes with a shared x-axis but independent y-axis. ax2 = plt.subplot(212) ax3 = ax2.twinx() # Create a twin of Axes with a shared x-axis but independent y-axis. ax1.get_shared_y_axes().join(ax1, ax3) c1, = ax0.plot(x, np.sin(x), c='red') c2, = ax1.plot(x, np.cos(x), c='blue') c3, = ax2.plot(x, np.tan(x), c='green') c4, = ax3.plot(x, np.exp(x), c='yellow') plt.legend([c1, c2, c3, c4], ["y=sin(x)", "y=cos(x)", "y=tan(x)", "y=exp(x)"], loc = "upper left", bbox_to_anchor=(.070, 2.25)) plt.show()
输出
广告