Python函数将所有直方图绘制到同一个绘图中,而不是为每个迭代创建不同的绘图
您缺少的是distplot内部的参数Python函数将所有直方图绘制到同一个绘图中,而不是为每个迭代创建不同的绘图,python,matplotlib,seaborn,Python,Matplotlib,Seaborn,您缺少的是distplot内部的参数ax。 首先,您不需要网格6x6,因为您有一个由4个元素组成的列表。 您可以按如下方式修改代码: list1 = ['PG','UN','HH-RF','MKT-RF'] f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True) for i in (list1): sns.distplot(df[i], kde=False, bins=40) 通过这种方式,您可以将每个df绘制到子批次的特
ax
。
首先,您不需要网格6x6
,因为您有一个由4个元素组成的列表。
您可以按如下方式修改代码:
list1 = ['PG','UN','HH-RF','MKT-RF']
f, axes = plt.subplots(6, 6, figsize=(20, 20), sharex=True)
for i in (list1):
sns.distplot(df[i], kde=False, bins=40)
通过这种方式,您可以将每个
df
绘制到子批次的特定框中。我尝试过实现它,但现在x轴上的标签消失了,尽管我看到了不同的绘图。我认为ax\u list[index].xlabel(I)
不起作用。您需要ax\u列表[index]。设置标签(i)
list1 = ['PG','UN','HH-RF','MKT-RF']
f, axes = plt.subplots(2, 2, figsize=(20, 20), sharex=True)
ax_list = axes.flatten()
for index, i in enumerate(list1):
sns.distplot(df[i], kde=False, bins=40, ax=ax_list[index])
# Showing the x label
ax_list[index].set_xlabel(i)