11

Python 3.2 で簡単な単語頻度計算機を作成しました。次に、結果を視覚化するためのプロットを作成します。x 軸には頻度の結果が含まれ、最も頻度の高い単語を y 軸に追加したいと考えています。数字の代わりにテキストをpylab軸に追加するにはどうすればよいですか? 前もって感謝します!

4

2 に答える 2

15

y 軸ではなく x 軸に度数を表示したいので、横棒グラフが必要だと仮定します。

代わりに、x 軸に印刷するようにラベルを調整するには、次のxticksコマンドを使用するだけです。

import matplotlib.pyplot as plt
import numpy as np
x_values = [0.1, 0.3, 0.4, 0.2]
y_values = ["word 1", "word 2", "word 3", "word 4"]
y_axis = np.arange(1, 5, 1)

plt.barh(y_axis, x_values, align='center')
plt.yticks(y_axis, y_values)
plt.show()

これにより、次のチャートが得られます (ただし、y ラベルを表示する場所にスペースをいじる必要のない、より良い方法がおそらくあります)。 ここに画像の説明を入力

Actually thinking a bit more about it - I think something like the following is more what you had in mind (I think I should stop now, as it inevitably shows that I am laughably inexperienced using matplotlib):

import matplotlib.pyplot as plt
import numpy as np
y_values = [0.1, 0.3, 0.4, 0.2]
text_values = ["word 1", "word 2", "word 3", "word 4"]
x_values = np.arange(1, len(text_values) + 1, 1)

plt.bar(x_values, y_values, align='center')
# Decide which ticks to replace.
new_ticks = ["word for " + str(y) if y != 0.3 else str(y) for y in y_values]
plt.yticks(y_values, new_ticks)
plt.xticks(x_values, text_values)
plt.show()

ここに画像の説明を入力

于 2013-06-12T21:09:00.673 に答える