def _draw_nucleotide_info(event, dna_helix_graph: nx.DiGraph, text_object: plt.Text, subplot: plt_axes.Subplot): mouseevent = event.mouseevent if mouseevent.dblclick or mouseevent.button != 1: return nucleotide_name = event.artist.get_label().split(":")[-1] nucleotide = _get_nucleotide_by_name(nucleotide_name, dna_helix_graph) nucleotide_info = nucleotide_utils.get_nucleotide_info( nucleotide=nucleotide) nucleotide_info_text = "Information for {}:\n\n".format( nucleotide_name).upper() nucleotide_info_text += nucleotide_utils.format_nucleotide_info( nucleotide_info) xlim = subplot.get_xlim() ylim = subplot.get_ylim() text_coord = (xlim[1] - 0.05 * (xlim[1] - xlim[0]), ylim[1] - 0.05 * (ylim[1] - ylim[0])) text_object.set_text(nucleotide_info_text) text_object.set_x(text_coord[0]) text_object.set_y(text_coord[1]) text_object.set_visible(True) plt.show()