だから私は単語の接頭辞の素晴らしい辞書を自分で作りましたが、今はそれをmatplotlibで見栄えの良いヒストグラムに変換したいと思います. 私は matplot シーン全体に不慣れで、他に近い質問は見当たりませんでした。
これは私の辞書がどのように見えるかの例です
{'aa':4, 'ca':6, 'ja':9, 'du':10, ... 'zz':1}
だから私は単語の接頭辞の素晴らしい辞書を自分で作りましたが、今はそれをmatplotlibで見栄えの良いヒストグラムに変換したいと思います. 私は matplot シーン全体に不慣れで、他に近い質問は見当たりませんでした。
これは私の辞書がどのように見えるかの例です
{'aa':4, 'ca':6, 'ja':9, 'du':10, ... 'zz':1}
ベクトル化された文字列メソッドが組み込まれているため、これには pandas を使用します。
# create some example data
In [266]: words = np.asarray(['aafrica', 'Aasia', 'canada', 'Camerun', 'jameica',
'java', 'duesseldorf', 'dumont', 'zzenegal', 'zZig'])
In [267]: many_words = words.take(np.random.random_integers(words.size - 1,
size=1000))
# convert to pandas Series
In [268]: s = pd.Series(many_words)
# show which words are in the Series
In [269]: s.value_counts()
Out[269]:
zZig 127
Camerun 127
Aasia 116
canada 115
dumont 110
jameica 109
zzenegal 108
java 105
duesseldorf 83
# using vectorized string methods to count all words with same first two
# lower case strings as an example
In [270]: s.str.lower().str[:2].value_counts()
Out[270]:
ca 242
zz 235
ja 214
du 193
aa 116
Pandas はnumpy
とを使用しますmatplotlib
が、より便利なものもあります。
次のように結果を簡単にプロットできます。
In [26]: s = pd.Series({'aa':4, 'ca':6, 'ja':9, 'du':10, 'zz':1})
In [27]: s.plot(kind='bar', rot=0)
Out[27]: <matplotlib.axes.AxesSubplot at 0x5720150>
多分これはあなたにスタートを与えるでしょう(で作られましたipython --pylab
):
In [1]: from itertools import count
In [2]: prefixes = {'aa':4, 'ca':6, 'ja':9, 'du':10, 'zz':1}
In [3]: bar(*zip(*zip(count(), prefixes.values())))
Out[3]: <Container object of 5 artists>
In [4]: xticks(*zip(*zip(count(0.4), prefixes)))
関連ドキュメント: