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参数用作位置还是值?



至尊宝的传说
浏览 78回答 2
2回答

潇潇雨雨

因为当 y = ["a","ab","abc","ab","abcd"] 时,刻度实际上是 ["a","ab","abc","abcd"]。请注意,之前有两个 "ab" 但现在只有一个 "ab"。现在当你说 plt.yticks([0, 2, 3]) 时,它会从 ["a","ab ","abc","abcd"]

长风秋雁

正如您所发现的,如果它是一个数字列表,它将被解释为刻度的位置(不是索引或其他任何东西),如果它是一个字符串列表,它将被解释为刻度的名称。在此处查看更多详细信息。
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python