Python 我如何制作x坐标字母?
我用pyplot/matplotlib用python制作了一个折线图:Python 我如何制作x坐标字母?,python,matplotlib,Python,Matplotlib,我用pyplot/matplotlib用python制作了一个折线图: import matplotlib.pyplot as plt import math import numpy as np alphabet = range(0, 25) firstLine = [letter + 65 for letter in alphabet] secondLine = [letter + 97 for letter in alphabet] plt.plot(alphabet, firstLi
import matplotlib.pyplot as plt
import math
import numpy as np
alphabet = range(0, 25)
firstLine = [letter + 65 for letter in alphabet]
secondLine = [letter + 97 for letter in alphabet]
plt.plot(alphabet, firstLine, '-b', label='ASCII value of capital.')
plt.plot(alphabet, secondLine, '--g', label='ASCII value of lowercase.')
plt.xlabel('Letter in Alphabet')
plt.ylabel('ASCII Value')
plt.title('ASCII value vs. Letter')
plt.legend()
plt.show()
在我的x轴上,它按数字缩放电流。但是,我希望x轴上的增量用字母(a,b,c,d)来标记,而不是说0,5,10。。。具体来说,我希望字母“a”映射到0,“b”映射到1,等等
如何使pyplot做到这一点?使用
xticks
功能。如果执行pyplot.xticks([0,1,2,3],'a','b','c','d'])
则它将在0,1,2和3处具有轴标记,并且它们将被标记为a、b、c和d。您还可以使用np.arange
快速创建所需的数字范围。我在下面使用了plt.xticks(范围(26),[chr(97+x)表示x范围(26)]
注意:您应该将字母表=范围(0,25)
更改为字母表=范围(26)
,否则您将错过“z”
谢谢pyplot.xticks(np.arange(0,26),string.lowercase)
works!