Jupyter,交互式Matplotlib:隐藏交互视图的工具栏

13

我开始使用Matplotlib的交互式绘图:

%matplotlib notebook
import matplotlib.pyplot as plt
fig, axes = plt.subplots(1, figsize=(8, 3))
plt.plot([i for i in range (10)],np.random.randint(10, size=10))     
plt.show()

请问是否有方法可以隐藏交互模式下的工具栏?

输入图像描述


1
请使用 %matplotlib inline 而不是 %matplotlib notebook - swatchai
@swatchai 由于在“inline”和“notebook”之间来回切换存在问题,我认为这个问题是有意义的,因为您可能希望在同一笔记本中对某些图启用该工具栏,而对其他图则不启用。 - ImportanceOfBeingErnest
3
@swatchai 我希望拥有图表交互功能(例如鼠标悬停元素等),但我不需要工具栏实用程序(如平移等),因此我想将它们隐藏起来。因为我觉得它们很分散注意力且不美观。 - Radar
2个回答

6

我使用一些由Python生成的CSS禁用了交互模式按钮和工具栏。 在笔记本的一个单元格中运行以下内容:

%%html
<style>
.output_wrapper button.btn.btn-default,
.output_wrapper .ui-dialog-titlebar {
  display: none;
}
</style>

很不幸,这些按钮上没有好的css选择器,因此我尽可能使用了最具体的选择器,但这可能会禁用您在输出单元格中生成的其他按钮。实际上,这种方法会影响笔记本中的所有输出单元格。


是的!我已经搜索了相当长的时间,以找到一个可行的解决方案...(你最终能解释一下发生了什么吗?) - raphael
我将 .output_wrapper .btn-toolbar 添加到列表中以删除鼠标坐标查看器。 - Oliver Zendel

1
使用魔法命令%matplotlib ipympl和canvas,将toolbar_visible设置为False。在实例化图形时,使用plt.ioff()以防止图形的双重出现。
import matplotlib.pyplot as plt

plt.ioff()
fig, ax = plt.subplots()
plt.ion()

fig.canvas.toolbar_visible = False
display(fig.canvas)

这有点重复,但是你需要知道如何使用plt进行操作。

编辑:我没有在jupyter上考虑过你。这在jupyterlab上可行。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接