matplotlibによるデータの可視化で遊んでみた

Share

こんにちは!!ようこそ、当ブログgcbgardenへ。管理人のsakurabaaa(@sakurabaaa_g)です。

先日ダウンロードしたAnacondaを使ってJupyterを起動し、データの可視化ライブラリ「matplotlib」をつかって遊んでみました!!

LINKAnacondaでPythonの環境(Jupyter notebook)を構築する

だれでも簡単にグラフが描けるようになるのでかなりおすすめです!エクセルなんかで表示するよりもいけてるんじゃないかな!?

スポンサーリンク

matplotlibデータの可視化①

以前購入した参考書をベースに練習してみました!!

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

plt.rcParams['font.size']=14     #フォントサイズ

np.random.seed(123)      #乱数種の指定
N = 100                  #100点のデータを生成
x = np.random.rand(N)
y = 2 * x + np.random.randn(N)
plt.scatter(x , y)           #散布図をプロット
plt.title('sample plot')     #図のタイトル
plt.xlabel('x')              #x軸のラベル
plt.ylabel('y')              #y軸のラベル

plt.grid()                   #グリッド線を引く
plt.show()                   #グラフの出力

すげ〜なんかいろいろできそうな予感!!

matplotlibデータの可視化②

50個の0~1の値を生成しxを10倍、yを100倍したものを散布図として表示

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

N = 50                      #50のデータを生成

x = np.random.rand(N) * 10       #0~1のランダムな数字を生成 10倍
y = np.random.rand(N) * 100      #0~1のランダムな数字を生成  100倍

plt.xlim([-1,11])   #x軸の範囲を指定
plt.ylim([-5,110])  #y軸の範囲を指定

plt.scatter(x,y)    #散布図の生成

plt.show()          #グラフの出力

すごい!!かなりおもしろい!!

matplotlibデータの可視化③

今度は、matplotlibデータの可視化②と同一条件で、散布図ではなく直線で結んでみました!

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

N = 50          #100このデータを生成

x = np.random.rand(N) * 10           #0~1のランダムな数字を生成 10倍
y = np.random.rand(N) * 100         #0~1のランダムな数字を生成  100倍

plt.xlim([-1,11])         #x軸の範囲を指定
plt.ylim([-5,110])       #y軸の範囲を指定

plt.plot(x,y)       #直線を生成

plt.show()          #グラフの出力

あかちゃんの落書きみたい。笑

おそらく、np.random.rand()は配列で出力されて、その出力された値を上から順に点と点を結んでしまうのでこんなぐちゃぐちゃなグラフになってしまっています。笑

array([ 0.78515479, 0.90301686, 0.12439919, 0.19711186, 0.94654841,
            0.71702785, 0.41193742, 0.26464204, 0.24821833, 0.21872837,
            0.66644116, 0.68437932, 0.76557561, 0.01992049, 0.72132283,
...])

こんな感じの出力なので、0.78いって、0.90いって、という感じで点と点を行ったり来たりしているわけだ。

ソートしてくれるなにかあったりするのかな!? 絶対あるから調査します。

2017.4.30 追記

LINK「matplotlib」numpyのsortを使って乱数の値を整理

matplotlibデータの可視化④

最後に、これで毎月のPV数報告とか定量的データの開示ができる!!

毎月のPV数表示!!

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

z = np.array([1,2,3,4,5])
q = np.array([300,553,633,455,800])
plt.scatter(z,q)

plt.plot(z , q, linestyle=':')

plt.title('Monthly PV')
plt.xlabel('Month')
plt.ylabel('PV')   
plt.xlim([1,12])

plt.grid()
plt.show()

かなりいけてるよね!!

※今回のデータはサンプルになります。

まとめ

機械学習の勉強の基礎であるデータの可視化に必要なmatplotlibで遊んでいたらかなり楽しめちゃいました。

一瞬でグラフの表示ができたりしてかなりおすすめです。

以下の参考書にヒントがもりだくさんなので気になった方はのぞいてみてください!

この記事を書いた人。
20代。とあるネットベンチャーでがんばる働き屋さん、ブロガー。
書きたいことを気ままに書いてます!
Python、プログラミング、米株、カメラ、野球観戦がすき。趣味は新宿散策。

スポンサーリンク

Share

Follow