如何在Python中循环显示多个散点图?

2024-03-31

我正在尝试自动化大型数据框矩阵的绘制过程。目标是将每一列与另一列绘制在一起。每列代表一个变量。另请参见下图。

F.e:性别与年龄、性别与体重指数、性别与吸烟、性别与类型等等。

为了清楚起见,我将问题简化为下图:在此输入图像描述 https://i.stack.imgur.com/lY4Rt.png

最初,我尝试手工绘制每个组合。但这是相当耗时的练习,不是我想要的。

我也尝试过这个(不起作用):

variables = ["Sex", "Age", "BMI"]
for variable in variables:
plt.scatter(df.variable, df.variable)
plt.xlabel('variable')
plt.ylabel('variable')
plt.title('variable vs. variable')
plt.show()

欢迎任何帮助!

PS:如果将线性回归纳入变量组合也是一个简单的练习,那也将不胜感激。

问候,

Nadia


您编写的代码将每一列与自身进行比较。你所描述的是一个嵌套循环。一个简单的升级是

col_choice = ["Sex", "Age", "BMI"]

for pos, axis1 in enumerate(col_choice):   # Pick a first col
    for axis2 in enumerate(col_choice[pos+1:]):   # Pick a later col
        plt.scatter(df.loc[:, axis1], df.loc[:, axis2])

I think这会生成一系列可接受的scatter.

这有帮助吗?如果你想变得更加“Pythonic”,那么看看itertools.product生成您的列选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在Python中循环显示多个散点图? 的相关文章

随机推荐