首页 > 解决方案 > Matplotlib;使用不同的轴标签制作不同的子图

问题描述

我正在制作一个由 2 个子图组成的图。子图显示不同的数量,所以我希望轴标签不同。但是,我不知道如何使用 matplotlib 库来做到这一点。

代码示例:

import numpy as np
import matplotlib.pyplot as plt

frequency = np.linspace(0, 100, 10)
eta = np.ones(10)

Power = np.linspace(0, 10, 10)
T = np.linspace(0, 10, 10)

fig, ax = plt.subplots(2, 1)
ax[0].plot(frequency, eta)
plt.xlabel('frequency')
ax[1].plot(Power, T)


plt.show()

如图所示,标签出现在第二个 x 轴下方。在此处输入图像描述我尝试了很多东西,例如 plt.axlabel('frequency', 'Power') 或 ax[0].xlabel('frequency') 或 fig[0].xlabel('frequency'),但似乎没有一个工作。

有谁知道如何做到这一点?首先十分感谢!

标签: pythonmatplotlibaxis-labelssubplot

解决方案


你可以试试这个:

import numpy as np
import matplotlib.pyplot as plt

frequency = np.linspace(0, 100, 10)
eta = np.ones(10)

Power = np.linspace(0, 10, 10)
T = np.linspace(0, 10, 10)

ax1 = plt.subplot(2, 1, 1)
plt.plot(frequency, eta)
plt.xlabel('frequency')

ax2 = plt.subplot(2, 1, 2)
plt.plot(Power, T)
plt.xlabel('label 2')

plt.subplots_adjust(hspace = 0.5)

plt.show()

plt.subplot(2, 1, 1)表示图中的子图是2行1列的形式,目前正在参考第一个子图。同样,plt.subplot(2, 1, 2)意味着第二个子图正在被引用。

没有plt.subplots_adjust(hspace = 0.5),第一个子图的标签被第二个子图隐藏。


推荐阅读