2012-09-26 6 views
5

私はpyplot/matplotlibのをPythonで折れ線グラフを作っています数字で私のx軸、それを現在のスケールで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() 

。しかし、私は0,5,10と言うのではなく、文字(a、b、c、d)でラベル付けされるx軸のインクリメントを必要とします...特に、文字 '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

ありがとうございます! '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

関連する問題