如何在保存图形时更改matplotlib中的刻度?

0 投票
1 回答
946 浏览
提问于 2025-04-18 05:40

我有一段代码可以把四个图放到一个图形里:

plt.figure(figsize=(20,18))
for i in range(4):
    labels = [...]
    x = ...
    y = ...
    plt.subplot(221+i)
    plt.title('Title here')
    plt.xlabel('x-axis label')
    plt.ylabel('y-axis label')
    plt.plot(x, y, 'ro')
plt.savefig('fig.png', format='png')

不过,我想把x轴上的刻度替换成标签。我试过用 plt.xticks(labels),但没有成功。

更新
我终于解决了这个问题,感谢Lev提供的方案。完整的代码是:

plt.figure(figsize=(20,18))
for i in range(4):
    labels = [...]
    x = ...
    y = ...
    plt.subplot(221+i)
    plt.title('Title here')
    plt.xlabel('x-axis label')
    plt.ylabel('y-axis label')
    plt.plot(x, y, 'ro')
    plt.xticks(range(len(x)), labels)
plt.savefig('fig.png', format='png')

1 个回答

2

如同在文档中所示,你可以这样设置标签:

plt.xticks(locations, labels)

如果你不想改变刻度的位置,可以这样做:

plt.xticks(plt.xticks()[0], labels)

撰写回答