R, Python, DB 備忘録

データベースとか、jupyter(Python)、Rとか色々

本当に必要なグラフの描き方(seaborn編)

  • EDAの中で行う可視化 のためのメモ

準備

import matplotlib.pyplot as plt
import seaborn as sns

ヒストグラム

sns.distplot(x, kde=False, norm_hist=True)   # 全体100%で正規化
sns.distplot(x2, kde=False, norm_hist=True)   # ヒストグラムの重ね描き

棒グラフ

sns.barplot(x, y, hue=グルーピング変数, data)
  • 積み上げ棒グラフ
  • 積み上げ100%棒グラフ
    seabornは積み上げ棒グラフに対応していない。pandasデータフレームのメソッドdf.plot.bar(stacked=True)で代用

折れ線グラフ

  • デフォルトでは信頼区間が表示される。
sns.lineplot(x, y, hue=グルーピング変数, ci=None, data)
sns.lineplot(x, y, hue=グルーピング変数, ci=None, data, marker=True)    ※マーカー付

散布図

sns.scatterplot(x, y, hue=グルーピング変数, data)

箱ひげ図

軸の表示範囲の固定

  • axオブジェクトを取り出して.set_x/y_lim
f = sns.***plot(...)
axes = f.axes
axes[0,0].set_ylim(0,)
axes[0,1].set_ylim(0,)

facet

g = FacetGrid(data, row=. col=, sharex=, sharey=)
g.map(plt.hist, "x")
g.map(plt.scatter, "x", "y")    ※2組の値を取るplotを渡す場合

タイトル、軸ラベル

画像ファイルとして保存

plt.savefig("ファイル名.png")