Я пытаюсь отобразить текст аннотации для нескольких графиков на одном графике (или рисунке) одновременно. Приведенный ниже код работает отлично, но он отображает одну аннотацию для одного графика за раз, но мой график имеет несколько графиков. plot1_list, plot2_list, plot3_list - это списки графиков на моем графике. Тексты аннотаций представлены в виде «ярлыков» на моих графиках. Как я могу отобразить текст аннотации для каждого графика в каждом списке одновременно?
import mplcursors
cursor1 = mplcursors.cursor(plot1_list, hover=False, bindings={"toggle_visible": "h", "toggle_enabled": "e"})
@cursor1.connect("add")
def on_add(sel):
sel.annotation.set_text(sel.artist.get_label())
cursor2 = mplcursors.cursor(plot2_list, hover=False, bindings={"toggle_visible": "h", "toggle_enabled": "e"})
@cursor2.connect("add")
def on_add(sel):
sel.annotation.set_text(sel.artist.get_label())
cursor3 = mplcursors.cursor(plot3_list, hover=False, bindings={"toggle_visible": "h", "toggle_enabled": "e"})
@cursor3.connect("add")
def on_add(sel):
sel.annotation.set_text(sel.artist.get_label())
Список графиков в приведенном выше коде создается с использованием кода ниже:
label1 = str("MAXIMUM HEAD=" + str(m_head))
label2 = str("MAXIMUM POWER=" + str(m_power))
label3 = str("MAXIMUM EFFICIENCY=" + str(m_efficiency))
plot1, = host.plot(y0, y, linestyle=styles[0], color=colorstouse[count], label=label1)
plot2, = par1.plot(y0, y1, linestyle=styles[1], color=colorstouse[count], label=label2)
plot3, = par2.plot(y0, y2, linestyle=styles[2], color=colorstouse[count], label=label3)