我正在尝试编辑一个图形图形的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保持未使用状态。
有什么建议吗?
此致 柯恩