添加工具栏按钮图标matplotlib

2024-05-17 08:20:47 发布

您现在位置:Python中文网/ 问答频道 /正文

我想向matplotlib图形工具栏中的自定义按钮添加图标。我怎么能做到呢?到目前为止,我有以下代码:

import matplotlib
matplotlib.rcParams["toolbar"] = "toolmanager"
import matplotlib.pyplot as plt
from matplotlib.backend_tools import ToolToggleBase

class NewTool(ToolToggleBase):
    ...[tool code]

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1, 2, 3], label="legend")
ax.legend()
fig.canvas.manager.toolmanager.add_tool("newtool", NewTool)
fig.canvas.manager.toolbar.add_tool(toolmanager.get_tool("newtool"), "toolgroup")
fig.show()

现在,它唯一能做的就是添加一个新的按钮(它可以做我想做的事情),但是图标只是工具的名称,即:“newtool”。我怎样才能为一个像png图像这样的自定义图标更改这个呢?在


Tags: importaddmatplotlibfigplttoolax按钮
1条回答
网友
1楼 · 发布于 2024-05-17 08:20:47

该工具可以有一个属性image,它表示png图像的路径。在

import matplotlib
matplotlib.rcParams["toolbar"] = "toolmanager"
import matplotlib.pyplot as plt
from matplotlib.backend_tools import ToolBase

class NewTool(ToolBase):
    image = r"C:\path\to\hiker.png"

fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot([1, 2, 3], label="legend")
ax.legend()
tm = fig.canvas.manager.toolmanager
tm.add_tool("newtool", NewTool)
fig.canvas.manager.toolbar.add_tool(tm.get_tool("newtool"), "toolgroup")
plt.show()

enter image description here

相关问题 更多 >