首页 > 解决方案 > matplotlib 中 yticks/xticks 函数的刻度参数到底是什么?

问题描述

我应该传递什么作为yticks函数的刻度参数?在 matplotlib 中,我不知道是否应该传递位置(y arr 中的索引)或 y-ticks 的值,文档将其描述为:

应放置刻度的位置列表

对于这个程序:

import numpy as np
import matplotlib.pyplot as plt

x = [0,5,9,10,15]
y = ["a","ab","abc","ab","abcd"]

plt.plot(x,y)
plt.show()

如果我添加plt.xticks([0, 2, 3]),我会得到值为:a、abc、abcd 的刻度。我不明白为什么刻度不是:a、abc、ab(y 数组中的位置)?不过我注意到,当 y 中的 vales 是不同的位置时,会按预期工作。

但是当我这样做时,plt.xticks(['as', 'ab', 'acs'])我会按预期得到滴答声(如 ab acs)。

那么我应该将此tick参数用作位置还是值?

标签: pythonmatplotlib

解决方案


正如您所发现的,如果它是一个数字列表,它将被解释为刻度的位置(不是索引或其他任何东西),如果它是一个字符串列表,它将被解释为刻度的名称。在此处查看更多详细信息。


推荐阅读