如何为以下散点图创建循环?

时间:2020-10-27 01:11:54

标签: python pandas seaborn

我正在尝试创建一个循环,该循环将创建多个散点图,如图像中所示。非常感谢您的帮助,谢谢。

https://i.stack.imgur.com/fGhdo.png

pop = df['population']

racePctCols = df[['racepctblack', 'racePctWhite', 'racePctAsian', 
'racePctHisp']]
print(racePctCols)

fig, ([ax1,ax2],[ax3,ax4]) = plt.subplots(2,2, figsize=(20,5)) # Draws a 2x2 
grid
ax1.set_title('Black')
sns.scatterplot(pop, racePctCols['racepctblack'], alpha = 0.2, ax=ax1)
ax2.set_title('White')
sns.scatterplot(pop, racePctCols['racePctWhite'], alpha = 0.2, ax=ax2)
ax3.set_title('Asian')
sns.scatterplot(pop, racePctCols['racePctAsian'], alpha = 0.2, ax=ax3)
ax4.set_title('Hispanic')
sns.scatterplot(pop, racePctCols['racePctHisp'], alpha = 0.2, ax=ax4)

1 个答案:

答案 0 :(得分:0)

让我们尝试zip(忘掉popracePctColssns足够聪明来应对):

# the plotting columns
cols=['racepctblack', 'racePctWhite', 'racePctAsian', 'racePctHisp']

# to set the title   
titles = ['Black','White','Asian', 'Hispanic']

# no need to manually label the grids here
fig, axes = plt.subplots(2,2, figsize=(20,5)) # Draws a 2x2 

for col, title, ax in zip(cols, titles, axes.ravel()):
    ax.set_title(title)
    sns.scatterplot(x='population', y=col,
                    data=df, alpha = 0.2, ax=ax)