見出し画像

Excelで作れるグラフをわざわざPythonでつくる

はじめに

この記事はExcelで作れるグラフを、自己満のためだけにPythonで作ろうと思い調べた内容を綴っています。
グラフの作り方にフォーカスしており、グラフの使い分けに関しては別の記事に分けようと思っています。
少しづつ更新する予定なので気長に見守ってください。

量的変数に対するヒストグラム

ヒストグラムはseabornの「histplot」か「distplot」を使います。
個人的には覚えやすいのでhistplot推しです。
histplotの主な引数は下記のとおりです。
主な引数
- data : グラフに使うDataFrameを指定する。
- x : グラフに使うカラムを指定する。
- bins : グラフの区切り幅を指定する
- kde : カーネル密度関数の描画(デフォルトはFalse)
- color : 色の指定
※ dataとxはdf['カラム名']でも代替可能でした。

#ヒストグラムの作成

#準備
sns.set()
tips = sns.load_dataset('tips')
lunch_tips = tips[tips['time'] == 'Lunch']
dinner_tips = tips[tips['time'] == 'Dinner']

#グラフの作成
sns.histplot(data=lunch_tips, x='total_bill',  bins=20, color='r')
sns.histplot(dinner_tips['time'], kde=True, bins=20)

質的変数に対するヒストグラム

質的変数に対するヒストグラムはseabornのcountplotを使います。
主な引数
- data : グラフに使うDataFrameを指定する。
- x : グラフに使うカラムを指定する。
- hue : xで分けたグラフをより細かく分類する。

tips = sns.load_dataset('tips')

sns.countplot(x='smoker', data='tips', hue='day')

ボックスプロット(箱ひげ図)

箱ひげ図はseabornのboxplotを使う。
xで指定したカラムの値ごとに、yで指定した値で箱ひげ図を作る
主な引数
- data : dfなどを指定
- y : 見たいカラム名
- x : 分けて表示したい場合にカラム名を指定
- order : 並び替え、リスト型で並べる
- hue : 更に細かく分けたいときに使う

tips = sns.load_dataset('tips')

sns.boxplot(x='day',y='total_bill',
            data=tips,hue='smoker',
            order=['Sun','Sat','Fri','Thur'])

散布図

散布図はseabornのscatterplotを使う
主な引数
- data : 対象のdfを指定
- x : x軸の指定
- y : y軸の指定
- hue : 指定したカラムの要素ごとに色付け
- style : 指定したカラムの要素ごとにプロットの形を変更
- alpha : 透過度の調整、0~1までのint型で指定(0に近づくほど薄くなる)

tips = sns.load_dataset('tips')

sns.scatterplot(data=tips, x='total_bill', y='tip', 
                hue='time', style='time', alpha=0.7)

バブルチャート

使うのはseabornのscatterplot
引数にsizeを指定することでバブルチャートになる
主な引数(散布図で紹介した引数は省略)
- size : 指定したカラムの数値によってプロットの大きさが変わる
- sizes : sizeの下限と上限を決める。fullにすることでカラムの最大値と最小値を取る
legend関数
上で作成したバブルチャートのグラフ要素を表示する位置を指定する。
主な引数(こちらに詳しく書かれていたので参考までに)
- loc : 凡例の位置の支点を決める
- bbox_to_anchor : 支点からどれくらい離すか指定する

縦棒グラフ

seabornのbarplotで作成。
主な引数
- data : 使用するデータフレームの指定
- x : x軸の指定
- y : y軸の指定

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