所以使用最小的代码在plotly.py中生成图表:
from plotly.offline import plot
from plotly.graph_objs import Scatter
plot([Scatter(x=[1, 2, 3, 4, 5], y=[3, 2, 1, 2, 3])])
生成一个漂亮的图表,其上面有一个模式栏。我想将我的图表嵌入一个网吧,其中酒吧看起来非常具有侵扰性。在plotly.js中,有一种非常简单的方法可以禁用模式栏,如here所示。 plotly.js中的解决方案仅仅是提供了额外的参数:Plotly.newPlot('myDiv', data, layout, {displayModeBar: false});
我知道有一种方法可以从明显禁用模式栏的情节中保存静态图像,但这会失去绘图本身的交互式悬停动作,这很有用,而附带它的条形并不是真的那样在我的情况下有用。我想知道的是,是否有办法以类似的方式删除模式栏以及plotly.js如何工作?
一个解决方案,我想是总是通过生成的HTML文件并将悬停栏的每个部分添加到r.modeBarButtonsToRemove,从长远来看这可能会变得麻烦。
答案 0 :(得分:4)
我已经能够使用配置关键字参数来完成它,如下所示:
graph = py.plot(
figure,
output_type='div',
auto_open=False,
show_link=False,
config=dict(
displayModeBar=False
)
)
答案 1 :(得分:1)
我来的有点晚了。但只是附带说明,这不会禁用顶部栏的功能,因此当您悬停时,它仍然会缩放和平移(这对于从移动设备查看的图来说非常烦人)。但是将其设为静态图并不是一个好的解决方案,因为我仍然希望计算机上的用户能够将鼠标悬停在图上的点上。
我通过更改两个图形布局设置解决了这个问题。
如果您想禁用缩放,xaxis_fixedrange
和 yaxis_fixedrange
需要设置为 True
。