在绘制IPython Notebook之前,将Plotly对象转换为HTML并编辑modeBar

时间:2017-07-04 12:28:40

标签: python plotly

我正在尝试编辑一个图形图形的modeBarButtons,以便在云端保存和编辑图形'功能变为禁用。起初this didn't seem possible in Python。但是this post通过将对象转换为HTML并编辑HTML代码,为Python指出了一种解决方法。

不幸的是,在云端'保存和编辑情节'当我尝试下面的示例代码时,功能仍然存在:

import numpy as np

from IPython.display import display, HTML

from plotly.offline import download_plotlyjs, init_notebook_mode, plot
import plotly
import plotly.graph_objs as go

plotly.offline.init_notebook_mode()

# create sin data to plot
x = np.arange(0.0, 100.0, 0.1)
y = np.sin(x)

# create plot data, edit and plot
trace0 = go.Scatter(x=x,y=y, name="Sin")
HTML_code = plot([trace0], show_link=False, auto_open=False, output_type='div')
HTML_code = HTML_code.replace('modeBarButtonsToRemove:[]',
   'modeBarButtonsToRemove:["sendDataToCloud"]')
display(HTML(HTML_code))

[编辑] 写入文件: 当编辑的HTML写入文件并在浏览器中打开时,该按钮被成功删除。

将已编辑的文件重新加载到我的笔记本中是不成功的:

from IPython.display import display, HTML
with open('./temp-plot.html', 'r') as file :
    tempHTML = file.read()
display(HTML(tempHTML))

添加输出的Javascript错误! ReferenceError:未定义Plotly 有关更多详细信息,请参阅浏览器Javascript控制台。

使用output_type='div'代替output_type='file'(由于最终产品的写入限制,我的优先方法): 笔记本似乎正在重新加载。 plotlys'标准配置,只插入HTML中的数据,使编辑过的JavaScript保持未使用状态。

有什么建议吗?

此致 柯恩

0 个答案:

没有答案