1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

matplotlibで簡単なヒストグラム・棒グラフを描く

Last updated at Posted at 2019-10-13

レビューのデータセットを理解する為に、各単語の出現回数を調べる為に棒グラフ、各レビューの長さがどの程度のものが多いか調べる為にヒストグラムを求める必要があった。
#matplotlib
matplotlibの概要を掴むにはこの記事が為になった。今回はデータの特徴を知りたいだけなのでpyplotモジュールだけ扱えれば問題なかった。
##棒グラフを描く
参考にした記事
matplotlib.barのドキュメント
matplot.barのドキュメントの下にある使用例
以下、コードの主要部分。scoreは単語の出現回数が昇順に入ったリストで
wordはscoreに対応するように各単語が入ったリストである。

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

pos = np.arange(len(score))
plt.barh(pos, score, tick_label = word)
plt.show()

matplot.barの使用例のplt.barh()を使っている部分とmatplotlib.barのドキュメントとにらめっこしてみると、plt.barh()の第一引数に表示したいデータに対応するようなpos、第二引数に表示したいデータ、表示したいデータに対応するようなラベルを第三引数にしたら上手いった。縦のヒストグラムにしたいならplt.barhをplt.barにすれば良いと思われる。

実際のグラフ
imdb_1to50word.png

##ヒストグラフを描く
参考にした記事
matplotlib.pyplot.histのドキュメント
a~bの値で一つのビンを構成、としたかったのだが、調べてもよく分からず、ビン数を増やすことでなんとかそれっぽいヒストグラムを作成した。
以下コードの主要部分。変数xには各レビューの単語数が含まれている。ソートされている必要はない。

import numpy as np
import matplotlib
import matplotlib.pyplot as plt

plt.xticks(np.arange(0, 1001, 100))
plt.xlim(right = 1001)
plt.hist(x, bins = 200, rwidth = 10)
plt.show()

xticks : ヒストグラムの時と同様に各データのラベルにあたる。
xlim : 横軸の限界値。
bins : ビンの数。
rwidth : ビンの視覚的な幅

実際のグラフ
imdb_unsup.png
レビューの単語数は100~200あたりに多いことがわかる。

1
7
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
7

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?