📅  最后修改于: 2023-12-03 15:17:35.212000             🧑  作者: Mango
在 Matplotlib 中,我们可以通过几行代码将 X 轴放置在顶部。这种展示方式在某些情况下非常有用,例如当我们有两个 X 轴时,我们想要将其中一个放在顶部时。
下面是创建一个 Matplotlib 图表并将 X 轴放在顶部的步骤:
首先,请确保Matplotlib库已通过以下命令安装:
pip install matplotlib
导入 Matplotlib 库并创建一个新的图形对象。
import matplotlib.pyplot as plt
fig = plt.figure()
创建两个轴对象 ax1 和 ax2,并将它们添加到图形对象 fig 中。
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()
将 ax2 轴对象的 X 轴范围设置为与 ax1 相同。
ax2.set_xlim(ax1.get_xlim())
移动 ax2 轴对象的 X 轴到顶部,同时隐藏 ax1 轴对象的 X 轴。
ax1.xaxis.tick_bottom()
ax2.xaxis.tick_top()
ax2.xaxis.set_label_position('top')
ax2.xaxis.set_ticks_position('top')
ax1.spines['bottom'].set_visible(False)
ax2.spines['bottom'].set_visible(False)
使用 plot 函数在 ax1 和 ax2 轴对象上创建数据点。
import numpy as np
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
ax1.plot(x, y1, 'b-', label='sin')
ax2.plot(x, y2, 'r-', label='cos')
为第二个 X 轴添加标签和刻度。
ax2.set_xlabel('X-label 2', fontsize=14, color='blue')
ax2.xaxis.set_ticks(np.arange(0, 10, 2))
添加图例,并显示图形。
ax1.legend(loc='lower right')
ax2.legend(loc='lower left')
plt.show()
以下是将 X 轴放置在顶部的完整代码:
import numpy as np
import matplotlib.pyplot as plt
fig = plt.figure()
ax1 = fig.add_subplot(111)
ax2 = ax1.twiny()
ax2.set_xlim(ax1.get_xlim())
ax1.xaxis.tick_bottom()
ax2.xaxis.tick_top()
ax2.xaxis.set_label_position('top')
ax2.xaxis.set_ticks_position('top')
ax1.spines['bottom'].set_visible(False)
ax2.spines['bottom'].set_visible(False)
x = np.arange(0, 10, 0.1)
y1 = np.sin(x)
y2 = np.cos(x)
ax1.plot(x, y1, 'b-', label='sin')
ax2.plot(x, y2, 'r-', label='cos')
ax1.legend(loc='lower right')
ax2.legend(loc='lower left')
ax2.set_xlabel('X-label 2', fontsize=14, color='blue')
ax2.xaxis.set_ticks(np.arange(0, 10, 2))
plt.show()
通过这个示例,我们已经学会了如何将 X 轴放在顶部。现在你可以通过修改示例代码,在自己的 Matplotlib 图表中添加顶部 X 轴的功能。