繁体   English   中英

多个系列在轨迹中为情节

[英]Multiple series in a trace for plotly

我动态生成一个pandas数据框,其中列是月,索引是日期,值是累积收入。 这很简单,不过它只是转动一个月/ dom / rev的数据帧。

但是现在我想用阴谋来绘制它。 由于每个月都会扩展列,我不想每月手动添加一个跟踪。 但我似乎没有一个包含多列的跟踪。 我本可以发誓这是可能的。

 revs = Scatter(
  x=df.index,
  y=[df['2016-Aug'], df['2016-Sep']],
  name=['rev', 'revvv'],
  mode='lines'
)
data=[revs]
fig = dict( data=data)
iplot(fig)

这会生成一个空图,没有错误。 理想情况下,我只是将df[df.columns]传递给y。 这可能吗?

你可能在考虑cufflinks 您可以使用iplot函数使用iplot绘制整个数据帧,而无需数据复制。

另一种方法是使用pandas.plot获取matplotlib对象,然后通过plotly.tools.mpl_to_plotl y进行转换并绘制。 整个过程可以缩短为一行:

plotly.plotly.plot_mpl(df.plot().figure)

输出实际上是相同的,只是传说需要调整。

import plotly
import pandas as pd
import random
import cufflinks as cf

data = plotly.tools.OrderedDict()
for month in ['2016-Aug', '2016-Sep']:
    data[month] = [random.randrange(i * 10, i * 100) for i in range(1, 30)]

#using cufflinks
df = pd.DataFrame(data, index=[i for i in range(1, 30)])
fig = df.iplot(asFigure=True, kind='scatter', filename='df.html')
plot_url = plotly.offline.plot(fig)
print(plot_url)

#using mpl_to_plotly
plot_url = plotly.offline.plot(plotly.tools.mpl_to_plotly(df.plot().figure))
print(plot_url)

在此输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM