【Python初心者】matplotlibとseabornで折れ線グラフを描いてみよう(データの可視化)

スポンサーリンク
Python
文系社会人に必要なデータを使った科学的思考が身に付く書籍9選
分からないことがあればネット検索すれば、すぐに答えが返ってきます。 しかし、 - その答えは正しい答えでしょうか? - 自分の問題を解決してくれる答えでしょうか? ビジネスの現場での意思決定は、データを使って数値化させた根拠が必...
【初心者】プログラミング学習、独学かスクールか問題
プログラミングを学習する方法は大きく分けて2つあります。 すなわち、独学とスクールです。 どちらにもメリットとデメリットがあります。独学とスクールのメリットとデメリットの確認して、自分にあった学習方法を見つけ...

折れ線グラフは主に時系列データを可視化する場合に用います。
今回はseabornにあるデータセットのflightsを使って、折れ線グラフを描いてみましょう。
Pythonの環境構築は下の過去記事を参照して下さい。

【2021年最新】M1 mac でanacondaをインストールする方法

【2021年最新】WindowsでAnacondaをインストールする方法

必要なライブラリをインポート

import matplotlib.pyplot as plt
import seaborn as sns
%matplotlib inline
import japanize_matplotlib
plt.style.use("ggplot")
import warnings
warnings.filterwarnings('ignore')

データセットを整える

flights = sns.load_dataset("flights")
flights

出力:

データの形をワイドフォーマットに変換する。

flights_wide = flights.pivot("year", "month", "passengers")
flights_wide

出力:

横軸に毎月(month)の変数(特徴量)が出来上がりました。

折れ線グラフを描いてみる

matplotlib.plot

plt.figure(figsize=(7, 4), dpi=150)
plt.plot(flights_wide.T.mean())
plt.show()

出力:

flightsのデータの平均値を折れ線グラフで描画しています。

seaborn.lineplot

plt.figure(figsize=(6, 3), dpi=150)
sns.lineplot(data=flights[flights.month=='Jan'], x='year', y='passengers')
plt.show()

出力:

val="Jan"

plt.figure(figsize=(6, 3), dpi=150)
sns.lineplot(data=flights_wide[val], linewidth=1.5)

plt.title(val+"の乗客数")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()

出力:

信頼区間を描画する

plt.figure(figsize=(6, 3), dpi=150)
sns.lineplot(data=flights, x="year", y="passengers")
plt.title(val+"の乗客数")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()

出力:

plt.figure(figsize=(6, 3), dpi=150)
sns.lineplot(data=flights, x="year", y="passengers", color="r", linewidth=2, ci=99)

plt.title("乗客数の経過")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()


出力:

2行目最後の ci= は信頼区間で、折れ線に付属している帯のことです。ci で良く指定されるものは、95, 99, “sd” があります。それぞれ、95%信頼区間、99%信頼区間、標準偏差を表しています。

月毎の折れ線を描画する

matplotlib.plot

plt.figure(figsize=(8, 5), dpi=150)
plt.plot(flights_wide)
plt.legend(labels=flights_wide.columns)
plt.title("月別の乗客数の経過")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()

出力:

seaborn.lineplot

plt.figure(figsize=(8, 5), dpi=150)
sns.lineplot(data=flights, x="year", y="passengers", hue="month", linewidth=1.5)
plt.title("月別の乗客数の経過")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()

出力:

plt.figure(figsize=(8, 5), dpi=150)
sns.lineplot(data=flights_wide, linewidth=1.5)
plt.title("月別の乗客数の経過")
plt.xlabel("年")
plt.ylabel("乗客数")
plt.show()

出力:

【Python初心者が知らない】ドットプロットでデータを可視化する簡単な方法

【Python初心者】matplotlibとseabornで散布図を描いてみよう(データの可視化)

文系社会人に必要なデータを使った科学的思考が身に付く書籍9選
分からないことがあればネット検索すれば、すぐに答えが返ってきます。 しかし、 - その答えは正しい答えでしょうか? - 自分の問題を解決してくれる答えでしょうか? ビジネスの現場での意思決定は、データを使って数値化させた根拠が必...





コメント

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