用x轴点的自定义文本绘图

时间:2010-06-23 10:59:47

标签: python matplotlib

我正在使用matplotlib和python绘制一个绘图,如下面的示例代码。

x = array([0,1,2,3])
y = array([20,21,22,23])
plot(x,y)
show()

由于它是x轴上面的代码,我将看到绘制的值0.0, 0.5, 1.0, 1.5,即我的参考x值的相同值。

无论如何将x的每个点映射到不同的字符串?例如,我希望x轴显示月份名称(字符串Jun, July,...)或其他字符串,如人名("John", "Arnold", ...)或时钟时间("12:20", "12:21", "12:22", ..)。

你知道我能做什么或看什么功能? 为了我的目的,可以matplotlib.ticker帮助吗?

2 个答案:

答案 0 :(得分:160)

您可以使用pyplot.xticks手动设置xticks(和yticks):

import matplotlib.pyplot as plt
import numpy as np

x = np.array([0,1,2,3])
y = np.array([20,21,22,23])
my_xticks = ['John','Arnold','Mavis','Matt']
plt.xticks(x, my_xticks)
plt.plot(x, y)
plt.show()

答案 1 :(得分:3)

这对我有用。 X轴上的每个月

str_month_list = ['January','February','March','April','May','June','July','August','September','October','November','December']
ax.set_xticks(range(0,12))
ax.set_xticklabels(str_month_list)