【发布时间】:2020-03-19 22:59:32
【问题描述】:
我有这个代码:
def data_analysis(column_name):
analysis = ['ultimate', 'surf']
for i, num in zip(analysis, range(1,len(analysis)+1)):
df = df_summary[(df_summary['tariff'] == i)]
sns.set(style="ticks")
x = df[column_name]
f, (ax_box, ax_hist) = plt.subplots(2, sharex=True,
gridspec_kw={"height_ratios": (.2, .85)})
sns.boxplot(x, ax=ax_box)
sns.distplot(x, ax=ax_hist, bins = 50)
ax_box.set(yticks=[])
table = '\nDescriptive Stats: \n', df[column_name].describe()
ax_box.text(df[column_name].mean()*0.2,-1,table,size=12)
sns.despine(ax=ax_hist)
sns.despine(ax=ax_box, left=True)
绘制以下内容:
但我正在寻找的是创建一个简单的 2 乘 1 子图,使其如下所示:
我以前使用过子图,但在这里我正在努力使其工作,因为我在每次迭代中同时使用两条曲线并且没有设法使其工作。外部 for 循环中的 num 用于填充子图代码,以便 ax = fig.add_subplot(1,2,num) --> 这在这里不起作用。
【问题讨论】:
标签: python-3.x matplotlib subplot