【发布时间】:2021-09-19 09:35:33
【问题描述】:
我正在尝试为 distplot 子图编写一个 for 循环。 我有一个包含许多不同长度的列的数据框。 (不包括 NaN 值)
fig = make_subplots(
rows=len(assets), cols=1,
y_title = 'Hourly Price Distribution')
i=1
for col in df_all.columns:
fig = ff.create_distplot([[df_all[[col]].dropna()]], col)
fig.append()
i+=1
fig.show()
我正在尝试为 distplots 的子图运行 for 循环并得到以下错误:
PlotlyError:糟糕!您的数据列表或 ndarray 的长度应相同。
更新: 下面是一个例子:
df = pd.DataFrame({'2012': np.random.randn(20),
'2013': np.random.randn(20)+1})
df['2012'].iloc[0] = np.nan
fig = ff.create_distplot([df[c].dropna() for c in df.columns],
df.columns,show_hist=False,show_rug=False)
fig.show()
我想在不同的子图中绘制每个分布。
谢谢。
【问题讨论】:
-
我的最新建议对您有何帮助?
-
它仍然没有工作,但我会尝试对其进行更多调整。我路由只是单独绘制每个图表。不过谢谢你的帮助。
标签: python pandas dataframe plotly distribution