the*_*nac 3 python seaborn pairplot histplot
我有一个 36000 行和 51 列的数据集。每行都是一个观察值,前 50 列是每个观察值的 50 个不同特征。第 51 列的值为 0 或 1,其中 0 表示观测值属于 A 类,1 表示观测值属于 B 类。
现在假设我想制作第一列的值的直方图,将其称为“Feature1”。据我所知,matplotlib的plt.hist()无法在同一个图中绘制2个直方图,其中一个对应于A类中Feature1的特征,另一个对应于B类中的特征。另外,seaborn 的 sns.distplot 也不能做到这一点。所以我决定尝试seaborn的pairplot如下
sns.pairplot(df, vars = ["Feature1"], hue= "Class", diag_kind = "hist", diag_kws= dict(alpha=0.55))
Run Code Online (Sandbox Code Playgroud)
Feature1 是第一列的名称,Class 是最后一列的名称,其中包含每个观测值的类标签。显示的直方图很好,但我想增加使用的垃圾箱数量。遗憾的是我没有找到任何方法来使用这个特定的函数来做到这一点。
有人知道这个问题的解决方案吗?谢谢
阐述Bugbeeb的评论,在使用时传递到. 文档中没有概述这一点,但从来源中可以清楚地看出,diag_kind = 'hist'diag_kwsplt.hist()
Run Code Online (Sandbox Code Playgroud)def PairPlot(...): # ... if diag_kind == "hist": grid.map_diag(plt.hist, **diag_kws) # ...
由于plt.hist()接受参数bins作为整数来控制 bin 的数量,因此您可以简单地执行以下操作
def PairPlot(...):
# ...
if diag_kind == "hist":
grid.map_diag(plt.hist, **diag_kws)
# ...
Run Code Online (Sandbox Code Playgroud)
其中n是所需的 bin 数量int。
| 归档时间: |
|
| 查看次数: |
5775 次 |
| 最近记录: |