【发布时间】:2015-12-04 11:16:37
【问题描述】:
我对 seaborn Pairgrid 有点挣扎。
假设我有一个像这样的 Pairgrid:
如您所见,上三角图反映了下三角图。 我希望能够仅绘制较低的三角形图,但到目前为止我发现没有简单的方法来做到这一点。你能帮帮我吗?
【问题讨论】:
我对 seaborn Pairgrid 有点挣扎。
假设我有一个像这样的 Pairgrid:
如您所见,上三角图反映了下三角图。 我希望能够仅绘制较低的三角形图,但到目前为止我发现没有简单的方法来做到这一点。你能帮帮我吗?
【问题讨论】:
这与接受的答案基本相同,但使用来自seaborn.PairGrid的官方方法:
import seaborn as sns
import matplotlib.pyplot as plt
sns.set(style="ticks")
iris = sns.load_dataset("iris")
def hide_current_axis(*args, **kwds):
plt.gca().set_visible(False)
g = sns.pairplot(iris)
g.map_upper(hide_current_axis)
隐藏下半部分也很容易:
g.map_lower(hide_current_axis)
或隐藏对角线:
g.map_diag(hide_current_axis)
或者,直接使用PairGrid 进行更多控制:
g = sns.PairGrid(iris, hue='species', diag_sharey=False)
g.map_lower(sns.scatterplot, alpha=0.3, edgecolor='none')
g.map_diag(sns.histplot, multiple="stack", element="step")
g.map_upper(hide_current_axis)
给出:
【讨论】: