添加工具栏按钮图标matplotlib

时间:2018-10-24 14:17:31

标签: python matplotlib

我想向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图像)更改此设置?

1 个答案:

答案 0 :(得分:1)

该工具可以具有属性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