データフレームからのグラフ作成
〇折れ線グラフ
SeriesまたはDataFrameが代入された変数.plot(kind="グラフの種類")
SeriesまたはDataFrameが代入された変数.plot.グラフの種類()
★引数kindにグラフの種類を指定する記法★
★plot()関数の引数★
SeriesまたはDataFrameが代入された変数.plot(title="グラフのタイトル")
例)
# 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()
〇棒グラフ
□積み上げ棒グラフ
# 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()
〇散布図
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()
〇ヒストグラム
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()
〇2軸のグラフ
※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と設定する。