如何正确地将xticks标记为日期名称?

时间:2018-12-19 20:05:28

标签: python matplotlib

enter image description here

x刻度未正确标记。 1被标记为星期二 ... 6被标记为星期日 我本来以为7是星期一,但是没有标签

我希望将1滴答标记为星期一,...,7标记为星期日。 谢谢

import calendar

day_names = [calendar.day_name[i] for i in range(0,7)]
print(day_names)
fig, ax = plt.subplots(figsize=(10,10))
ax.plot(births_per_day)
ax.set_xticklabels(day_names)
plt.show()

2 个答案:

答案 0 :(得分:1)

这有效:

import calendar

day_names = [calendar.day_name[i] for i in range(0,7)]
day_names = day_names
fig, ax = plt.subplots(figsize=(7,7))
ax.plot(range(7))
ax.xaxis.set_ticks(np.arange(7))
ax.set_xticklabels(day_names)
plt.show()

使用ax.xaxis.set_ticks()可以明确指定刻度线的间距。

enter image description here

答案 1 :(得分:1)

我终于明白了 screenshot 代码是:

day_names = [calendar.day_name[i] for i in range(0,7)]
fig, ax = plt.subplots()
ax.plot(births_per_day)
ax.xaxis.set(ticks=range(1,8) ,ticklabels=day_names)
plt.show()