Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 我如何制作x坐标字母?_Python_Matplotlib - Fatal编程技术网

Python 我如何制作x坐标字母?

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

我用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, 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!