我正在尝试创建一个循环,该循环将创建多个散点图,如图像中所示。非常感谢您的帮助,谢谢。
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)
答案 0 :(得分:0)
让我们尝试zip
(忘掉pop
和racePctCols
,sns
足够聪明来应对):
# 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)