Добавить значок кнопки панели инструментов matplotlib - PullRequest
0 голосов
/ 24 октября 2018

Я хочу добавить значок к пользовательской кнопке на панели инструментов рисунка 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 голосов
/ 24 октября 2018

Инструмент может иметь атрибут 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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...