2012-09-26 41 views
5

我已經結合pyplot/matplotlib蟒製成的線圖:如何製作x座標字母?

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做到這一點?

回答

9

使用xticks函數。如果你做pyplot.xticks([0, 1, 2, 3], ['a', 'b', 'c', 'd'])那麼它將有0,1,2和3的軸標記,並且它們將被標記爲a,b,c和d。您也可以使用np.arange快速創建您想要的數字範圍。

+1

Thanks! 'pyplot.xticks(np.arange(0,26),string.lowercase)'工作! – dangerChihuahua007

5

我已在下面使用plt.xticks(range(26), [chr(97 + x) for x in xrange(26)])

注:,否則你在「Z」錯過了,你應該改變你的alphabet = range(0, 25)alphabet = range(26)

enter image description here