我试图根据此网页上的说明添加一个新的散点跟踪:https://plot.ly/matplotlib/modifying-a-matplotlib-figure/
但是,当我尝试运行以下代码时:
plotly_fig['data'].append( dict(x=x, y=logx, type='scatter', mode='lines') )
我收到以下错误:
plotly_fig['data'].append( dict(x=x, y=logx, type='scatter', mode='lines') )
AttributeError: 'tuple' object has no attribute 'append'
到目前为止,我已经尝试过:
1.)plotly_fig.update(data=dict(x=x, y=logx, type='scatter', mode='lines'))
好像什么都没用。在
2.)plotly_fig.add_scatter(name= "test", mode='lines', xaxis='x', yaxis='y',x=x.tolist(), y=sinx.tolist(), line= {'color': 'rgba (31, 119, 180, 1)', 'dash': 'solid', 'width': 1.5})
这似乎增加了跟踪,但当我运行时:
py.plot(plotly_fig, filename='test.html')
新的轨迹无法绘制。在
3.)new_trace = dict(type='scatter', x=x, y=sinx, mode='lines', line= {'color': 'rgba (31, 119, 180, 1)', 'dash': 'solid', 'width': 1.5})
plotly_fig.append_trace(new_trace, 0, 0)
返回错误:“为了按行和列引用跟踪,必须首先使用plotly.tools.make_子绘图创建带有子地块栅格的地物。”
这是我的完整代码,上面提到的两种方法,注释掉了。在
import pprint
import matplotlib.pyplot as plt
import plotly.offline as py
import plotly.tools as tls
import plotly.graph_objs as go
x = np.linspace(np.pi, 3*np.pi, 1000)
sinx = np.sin(x)
logx = np.log(x)
fig, ax = plt.subplots(figsize=(5,6))
ax.plot(x, logx)
ax.set_title('Two Curves')
plotly_fig = tls.mpl_to_plotly(fig)`
pp = pprint.PrettyPrinter(indent=4)`
pp.pprint(plotly_fig)`
plotly_fig['data'].append( dict(x=x, y=logx, type='scatter', mode='lines') )
#plotly_fig.update(data=dict(x=x, y=logx, type='scatter', mode='lines'))
#plotly_fig.add_scatter(name= "test", mode='lines', xaxis='x', yaxis='y',x=x.tolist(), y=sinx.tolist(), line= {'color': 'rgba (31, 119, 180, 1)', 'dash': 'solid', 'width': 1.5})
#new_trace = dict(type='scatter', x=x, y=sinx, mode='lines', line= {'color': 'rgba (31, 119, 180, 1)', 'dash': 'solid', 'width': 1.5})
#plotly_fig.append_trace(new_trace, 0, 0)
pp.pprint(plotly_fig)
py.plot(plotly_fig, filename='test.html')
由于plotly 3.0已切换到将图形数据表示为元组而不是列表,因此您使用的示例代码似乎已被弃用。因为元组是不可变的,所以您收到了所描述的错误。在
参见文档:https://github.com/plotly/plotly.py/blob/master/migration-guide.md#migration-to-version-3
所以,换线
收件人:
^{pr2}$相关问题 更多 >
编程相关推荐