データフレームからのグラフ作成

〇折れ線グラフ

SeriesまたはDataFrameが代入された変数.plot(kind="グラフの種類")
SeriesまたはDataFrameが代入された変数.plot.グラフの種類()

★引数kindにグラフの種類を指定する記法★

画像1


★plot()関数の引数★

SeriesまたはDataFrameが代入された変数.plot(title="グラフのタイトル")

画像2

例)

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# pandasのインポート
import pandas as pd

# データの読み込み
df = pd.read_csv("temperature.csv", index_col=0)

# グラフの作成
df.plot(kind="line", title="東京の月別気温", grid=True)

# グラフの表示
plt.show()

画像3


〇棒グラフ

□積み上げ棒グラフ

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# pandasのインポート
import pandas as pd

# データの読み込み
df = pd.read_csv("precipitation.csv", index_col=0)

# データの一部を抽出
df_part = df[["北海道","東京","沖縄"]]

# グラフの作成
df_part.plot(kind="bar", stacked=True, title="月別降水量", color=["Green", "Orange", "Blue"])

# グラフの表示
plt.show()

画像4



〇散布図

DataFrameが代入された変数.plot(kind="scatter", x=横軸のデータのカラム名, y=縦軸のデータのカラム名)

例)

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# pandasのインポート
import pandas as pd

# データセットの読み込み
iris = pd.read_csv("iris.csv")

# グラフの作成
iris.plot(kind="scatter", x="sepal_length", y="petal_length", title="アヤメデータの散布図", marker="x")

# グラフの表示
plt.show()

画像5


〇ヒストグラム

SeriesまたはDataFrameが代入された変数.plot(kind="hist")

   ※引数bins:分割する階級の数の指定も可能。
   ※引数subplots=True:各カラムを異なるグラフ領域に描画。
   ※sharex=Trueやsharey=True:横軸や縦軸を共有。
   ※layout=(行数,列数):レイアウトを変更する。

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# pandasのインポート
import pandas as pd

# データの読み込み
iris = pd.read_csv("iris.csv")

# グラフの作成
iris.plot(kind="hist", figsize=(8, 3), bins=15, alpha=0.7, title="アヤメデータのヒストグラム",)

# グラフの表示
plt.show()

# グラフの作成
iris.plot(kind="hist", figsize=(8, 6), subplots=True, layout=(2, 2), sharex=True, sharey=True)

# グラフの表示
plt.show()

画像6

画像7



〇2軸のグラフ

画像8

※2軸グラフを作成するには、
 グラフ領域の軸を反転する『twinx()関数』を使用。

①axesオブジェクトを作成し、変数1に代入。
②axesオブジェクトが代入された変数のtwinx()関数を使用して軸を反転したaxesオブジェクト作成し、別の変数2に代入。
③plot()関数の引数axで任意の描画先を指定。グラフを作成。

 #1 
ax1 = plt.subplot(1,1,1)
 #2 
ax2 = ax1.twinx()
 #3 
SeriesまたはDataFrameオブジェクトが代入された変数(左軸使用).plot(ax=ax1)
SeriesまたはDataFrameオブジェクトが代入された変数(右軸使用).plot(ax=ax2)

例)

# matplotlib.pyplotのインポート
import matplotlib.pyplot as plt

# pandasのインポート
import pandas as pd

# データの読み込み
df = pd.read_csv("temperature_precipitation.csv", index_col=0)

# 気温情報と降水量情報にデータフレームを分割
temperature = df[["最高気温","平均気温","最低気温"]]
precipitation = df["降水量"]

# figureオブジェクトの作成
plt.figure(figsize=(5,4))

# axesオブジェクトの作成
ax1 = plt.subplot(1,1,1)

# 軸を反転したaxesオブジェクトの作成
ax2 = ax1.twinx()

# グラフの作成
temperature.plot(kind="line", color=["red", "orange", "blue"], ax=ax1)
precipitation.plot(kind="bar", alpha=0.6, legend=True, ax=ax2)

# 縦軸のラベルの追加
ax1.set_ylabel("気温")
ax2.set_ylabel("降水量")

# グラフの表示
plt.show()

※axesのラベルは、pltとは違ってset_ylabel、set_xlabelと設定する。

画像9


この記事が気に入ったらサポートをしてみませんか?