LoginSignup
0
3

More than 3 years have passed since last update.

seabornのpairplotで下半分(上半分)だけ表示する

Posted at

https://tutorialmore.com/questions-1150768.htmにやり方があったのでメモ。

import seaborn as sns
import matplotlib.pyplot as plt


def hide_current_axis(*args, **kwds):
    plt.gca().set_visible(False)

# データフレーム準備
X = sns.load_dataset("iris")

# ペアプロット
pg = sns.pairplot(X)

# 上のグラフを消す=下三角部分を表示
pg.map_upper(hide_current_axis)

# 下のグラフを消す=上三角部分を表示
# pg.map_lower(hide_current_axis)

# 対角部分を消す
# pg.map_diag(hide_current_axis)

スクリーンショット 2020-02-26 22.45.00.png

もしくはpairgridで好きな位置に好きなグラフを配置する。

from itertools import groupby
import seaborn as sns
import matplotlib.pyplot as plt


def hide_current_axis(*args, **kwds):
    plt.gca().set_visible(False)


def stackedhist(data, stackby, **kwds):
    groups = groupby(zip(stackby, data), lambda x: x[0])
    grouped_data = [[v for _, v in items] for key, items in groups]
    plt.hist(grouped_data, stacked=True, edgecolor='none')


# データフレーム準備
X = sns.load_dataset("iris")

g = sns.PairGrid(X, diag_sharey=False)
g.map_lower(sns.scatterplot, data=X, hue='species', alpha=0.3, edgecolor='none')
g.map_diag(stackedhist, stackby=X['species'])
g.map_upper(hide_current_axis)

スクリーンショット 2020-02-26 22.47.16.png

0
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
3