gpt4 book ai didi

python - 使用 Pandas 在同一图表中生成多个 scatter_matrix 图

转载 作者:行者123 更新时间:2023-12-03 18:43:58 29 4
gpt4 key购买 nike

我有两个具有相同列名的数据框。我想生成 pairplot 散点图以了解变量如何相互作用。我想用与第二个矩阵不同的颜色绘制第一个数据框。这可能吗?似乎 scatter_matrix 函数默认覆盖了之前的绘图。
为什么我的第一个生成的图会被覆盖?如何使用 scatter_matrix 函数一次可视化两个数据框?

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dat = pd.DataFrame({'x%i' % ii: np.random.uniform(-1, 1, 100) for ii in range(3)})
dat2 = pd.DataFrame({'x%i' % ii: np.random.uniform(0, 1, 100) for ii in range(3)})
ax = pd.plotting.scatter_matrix(dat, c='orange')
pd.plotting.scatter_matrix(dat2, c='k')
# pd.plotting.scatter_matrix(dat2, c='k', ax=ax) # results in error
plt.savefig('example')
enter image description here
(我想要的解决方案应该有两个单独的点颜色,一组的范围从 0 到 1,另一组的范围从 -1 到 1。)

最佳答案

如果您愿意使用另一个名为 seaborn 的库,并且如果我理解正确,则可以使用 sns.pairplot 轻松完成。您只需要对两个数据框进行 concat 并创建一个列以用作 hue 并在图例中使用您想要的名称。

import seaborn as sns
sns.pairplot(pd.concat([dat.assign(hue='dat'),
dat2.assign(hue='dat2')]),
hue='hue',
diag_kind='hist',
palette=['orange', 'k'])
enter image description here
注意:在这种情况下,我发现直方图的对角线看起来不太好,我宁愿使用 'kde' 而不是 'hist' 作为参数 diag_kind ,但这取决于您想要什么。

关于python - 使用 Pandas 在同一图表中生成多个 scatter_matrix 图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62601144/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com