首页 > 解决方案 > 用于标记 x 轴的重复项

问题描述

我有一个类似 list1 = ['A1', 'A2', 'A1', 'A3'] 的列表。我想将这个用于 x 轴子图标签,但每次我使用 matplotlib 绘制它时,x 值都会缩短,如“A1 A2 A3”,并且 A1 在图中获得两个 y 值。

有没有办法停止 x 轴标签的自动“压缩”?

因此,我想要的不是“A1 A2 A3”,而是列表实际的 x-label“A1 A2 A1 A3”。

提前致谢!

标签: pythonmatplotlib

解决方案


如果您发送代码,我们可以为您提供更好的帮助,但我发送两个示例,可能会对您有所帮助。

第一个示例:为此,您需要key为每个标签定义。

import matplotlib.pyplot as plt
f, ax = plt.subplots()

x = ['A1', 'A2', 'A1', 'A3']
l = [1, 2, 3, 4]
y = [2, 3, 4,5]

ax.plot(l,y)
ax.set_xticks(l)
ax.set_xticklabels(x)

plt.show()

输出:

在此处输入图像描述

第二个例子

import matplotlib.pyplot as plt
f, ax = plt.subplots()

x = ['A1', 'A2', 'A1', 'A3']
l = [1, 2, 1, 4]
y = [2, 3, 4,5]

ax.plot(l,y)
ax.set_xticks(l)
ax.set_xticklabels(x)

plt.show()

输出:

在此处输入图像描述


推荐阅读