matplotlib中yticks/xticks函数的ticks参数究竟是什么



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

应放置刻度的位置列表

对于此程序:

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参数作为位置或值吗?

因为当y=["a","ab","abc","ab","abcd"]时,tick实际上是["a","ab","abc","abcd"]请注意,以前有两个"ab",但现在只有一个"ab">

现在,当你说plt.yticks([0,2,3](时,它从["a","ab","abc","abcd"]中选择"a"(索引0(,"abc"(索引2(,"abcd"(索引3(

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