2012-09-26 10 views
5

Ben pyplot/matplotlib ile python bir çizgi grafik yaptık: my x ekseni üzerindeX koordinatlarını harfleri nasıl yaparım?

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() 

, sayılarla mevcut ölçekler. Ancak, 0, 5, 10 yerine harflerle (a, b, c, d) etiketlenecek x ekseninde artışlar istiyorum. Özellikle, 'a' harfinin 0 ile eşleşmesini istiyorum. b '1 ile eşlemek için, vb.

Bunu nasıl yapabilirim?

cevap

9

xticks işlevini kullanın. pyplot.xticks([0, 1, 2, 3], ['a', 'b', 'c', 'd']) yaparsanız, 0, 1, 2 ve 3'te eksen işaretlerine sahip olacak ve bunlar a, b, c ve d olarak etiketlenecektir. İstediğiniz numara aralığını hızlı bir şekilde oluşturmak için np.arange'u da kullanabilirsiniz.

+1

Teşekkürler! pyplot.xticks (np.arange (0, 26), string.lowercase) 'işleri! – dangerChihuahua007

5

plt.xticks(range(26), [chr(97 + x) for x in xrange(26)]) ürününü kullanıyorum.

NOT: aksi takdirde 'z' üzerinde eksik çünkü Eğer senin alphabet = range(0, 25)alphabet = range(26) olarak değişmelidir.

enter image description here

İlgili konular