0

In my program, im using mplcursors on a matplotlib graph so I can identify certain points precisely.

mplcursors.cursor(multiple=True).connect("add", lambda sel: sel.annotation.draggable(False))

Now I made a complex graph with multiple axis:

first = 1
offset = 60

for x in range(len(cat_list)):
    if "Time" not in cat_list[x]:
        if first and not cat_list[x].startswith("EngineSpeed"):

            parasites[x] = ParasiteAxes(host, sharex = host)
            host.parasites.append(parasites[x])
            parasites[x].axis["right"].set_visible(True)
            parasites[x].set_ylabel(cat_list[x])
            parasites[x].axis["right"].major_ticklabels.set_visible(True)
            parasites[x].axis["right"].label.set_visible(True)
            p_plot, = parasites[x].plot(t, t_num_list[x], label = cat_list[x])
            #parasites[x].axis["right"+str(x+1)].label.set_color(p_plot.get_color())
            parasites[x].axis["right"].label.set_color(p_plot.get_color())
            first = 0

        elif not cat_list[x].startswith("EngineSpeed"):

            parasites[x] = ParasiteAxes(host, sharex = host)
            host.parasites.append(parasites[x])
            parasites[x].set_ylabel(cat_list[x])
            new_axisline = parasites[x].get_grid_helper().new_fixed_axis
            parasites[x].axis["right"+str(x+1)] = new_axisline(loc = "right",
            axes = parasites[x],
            offset = (offset, 0))
            p_plot, = parasites[x].plot(t, t_num_list[x])
            parasites[x].axis["right"+str(x+1)].label.set_color(p_plot.get_color())
            offset = offset + 60
            host.legend()

fig.add_axes(host)
plt.show()

This code results in the following graph:

https://i.stack.imgur.com/Wl7yC.png

Now I have to somehow be able to select certain points by selecting which axis im using. How do I make a selection menu for choosing an active axis and how do I then use mplcursors to select my points?

Thanks, Ziga

Ziga99
  • 1
  • See [Display annotation text of plot simultaneously in matplotlib](https://stackoverflow.com/questions/60209132/display-annotation-text-of-plot-simultaneously-in-matplotlib) and [Matplotlib cursor value with two axes](https://stackoverflow.com/questions/21583965/matplotlib-cursor-value-with-two-axes/53678689) – JohanC Nov 25 '21 at 12:23
  • Does this answer your question? [Display annotation text of plot simultaneously in matplotlib](https://stackoverflow.com/questions/60209132/display-annotation-text-of-plot-simultaneously-in-matplotlib) – Trenton McKinney Nov 25 '21 at 16:21

0 Answers0