Python

Python初学者向け:matplotlibによる可視化を基本から解説

スポンサーリンク

 

この記事はこんな方におススメです
  • Pythonを始めたばかりで基本から学びたい方
  • Pythonの基本的な部分を速習してまずは全体像を把握しておきたい方

はじめに

データの可視化を基本から解説していきます。まずはデータの可視化ライブラリmatplotlibの使い方からみていきます。今回は第一回目なので一番ベーシックな折れ線グラフの書き方から始めることにしましょう。

折れ線グラフの描画

書式

まず書式を確認しておきましょう。matplotlibはpyplotというモジュールをpltという名前でインポートすることが多いのでこれも合わせて覚えておきましょう。以下の書式でも「matplotlib.pyplot」を「plt」として記載しています。

plt.plot([x], y)

xに横軸となるもの(リストやndarrayなどの配列)、yに縦軸となるものを指定します。xを省略するとindexが使用されるので注意してください。

データフレームのデータの一部を利用してプロットする場合、x=df[‘列名1’], y=[‘列名2’] のようにSeriesで指定できます。別の書き方として、

plt.plot(‘列名1’, ‘列名2’, data=df)

このように書くこともできます。dfにフィルタをかけているときなどは、この表現の方が便利ですね。実際に書いてみましょう。

折れ線グラフを描く

# ライブラリのインポート
import matplotlib.pyplot as plt
import numpy as np

# サンプルデータ
x = np.linspace(-5,5,100)
y = np.sin(x)

# plot
plt.plot(x,y)
plt.grid()
y=sinxの描画

このようにx, y に配列を指定するとプロットしてくれます。xは省略することができますが、その場合、yで指定した配列のインデックスが横軸になることに注意してください。

# xを省略した場合
plt.plot(y)
plt.grid()
xを両着した場合の描画

一見、同じ形ですが、横軸のメモリが違いますね。xは-5~5までの間を等間隔に100個の点で区切っています。plt.plot()内でxを指定しなかった場合は、この点のインデックスである0~99が横軸となるので注意しましょう。

データフレームからx, y を指定して描画するケースも見ておきましょう。

# サンプルのデータフレームを作成
np.random.seed(1)
sample_array = np.random.randint(0,100,size=20)

df = pd.DataFrame({'A':np.arange(10,30),
                  'B':sample_array})

# データフレームで列を指定して描画
plt.plot(df['A'],df['B'])
plt.grid()
データフレームで列を指定して描画

これは次のように先に列名を書いて、あとからデータフレームを指定する書き方もできます。

# データフレームで列を指定して描画:別の書き方
plt.plot('A','B',data=df)
plt.grid()
# データフレームで列を指定して描画:別の書き方

これは先ほどと全く同じプロットです。繰り返しになりますが、xを省略すると横軸はインデックスになるので注意しましょう。

# データフレームで列を指定して描画:xを省略した場合
plt.plot('B',data=df)
plt.grid()
# データフレームで列を指定して描画:xを省略した場合
スポンサーリンク

まとめ

今回はもっとも基本的なplt.plot()を扱いました。これは折れ線グラフを描画するので非常になじみがありますね。xを省略した場合は横軸はインデックスになること、plt.plot()の()の中はいろんなdf[‘列名’]でx,yを指定する方法と、あとからデータフレームを指定する方法を解説しました。

コメント

タイトルとURLをコピーしました