有没有办法在plotly.py中禁用悬停栏/模式栏?

时间:2016-10-19 08:24:18

标签: python plotly

所以使用最小的代码在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,从长远来看这可能会变得麻烦。

2 个答案:

答案 0 :(得分:4)

我已经能够使用配置关键字参数来完成它,如下所示:

graph = py.plot(
                figure,
                output_type='div',
                auto_open=False,
                show_link=False,
                config=dict(
                    displayModeBar=False
                )
            )

答案 1 :(得分:1)

我来的有点晚了。但只是附带说明,这不会禁用顶部栏的功能,因此当您悬停时,它仍然会缩放和平移(这对于从移动设备查看的图来说非常烦人)。但是将其设为静态图并不是一个好的解决方案,因为我仍然希望计算机上的用户能够将鼠标悬停在图上的点上。

我通过更改两个图形布局设置解决了这个问题。 如果您想禁用缩放,xaxis_fixedrangeyaxis_fixedrange 需要设置为 True