matplotlib 如何是的横坐标纵向显示
在 matplotlib
中,若要让横坐标标签纵向显示,可以使用 plt.xticks()
或 ax.set_xticklabels()
方法结合旋转参数来实现。
方法一:使用 plt.xticks()
当你使用 matplotlib
的 pyplot 接口(即 plt
)来绘图时,可以使用 plt.xticks()
方法设置横坐标标签并指定旋转角度。
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.arange(5)
y = [2, 4, 6, 8, 10]
# 绘制图形
plt.plot(x, y)
# 设置横坐标标签
labels = ['标签1', '标签2', '标签3', '标签4', '标签5']
plt.xticks(x, labels, rotation=90)
# 显示图形
plt.show()
在上述代码中,plt.xticks(x, labels, rotatinotallow=90)
用于设置横坐标的刻度位置和标签内容,rotatinotallow=90
表示将标签逆时针旋转 90 度,从而使其纵向显示。
方法二:使用 ax.set_xticklabels()
如果你使用面向对象的接口(即通过 fig, ax = plt.subplots()
创建图形和坐标轴对象),可以使用 ax.set_xticklabels()
方法来设置横坐标标签并旋转。
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.arange(5)
y = [2, 4, 6, 8, 10]
# 创建图形和坐标轴对象
fig, ax = plt.subplots()
# 绘制图形
ax.plot(x, y)
# 设置横坐标标签
labels = ['标签1', '标签2', '标签3', '标签4', '标签5']
ax.set_xticks(x)
ax.set_xticklabels(labels, rotation=90)
# 显示图形
plt.show()
在这个例子中,首先使用 ax.set_xticks(x)
设置刻度位置,然后使用 ax.set_xticklabels(labels, rotatinotallow=90)
设置标签内容并将其旋转 90 度。
调整旋转角度
除了将标签旋转 90 度使其完全纵向显示外,你还可以根据需要调整旋转角度。例如,将 rotation
参数设置为 45 度:
import matplotlib.pyplot as plt
import numpy as np
# 生成示例数据
x = np.arange(5)
y = [2, 4, 6, 8, 10]
# 创建图形和坐标轴对象
fig, ax = plt.subplots()
# 绘制图形
ax.plot(x, y)
# 设置横坐标标签
labels = ['标签1', '标签2', '标签3', '标签4', '标签5']
ax.set_xticks(x)
ax.set_xticklabels(labels, rotation=45)
# 显示图形
plt.show()
这样,横坐标标签会以 45 度角倾斜显示。你可以根据实际情况调整 rotation
参数的值,以达到最佳的显示效果。