Hovering-Anmerkungen in Matplotlib-Streudiagrammen
Bei der Analyse von Streudiagrammen kann es hilfreich sein, die spezifischen Daten anzuzeigen, die einzelnen Punkten zugeordnet sind. Durch das Hinzufügen von Anmerkungen, die beim Bewegen des Mauszeigers angezeigt werden, können Sie Ausreißer und andere wichtige Punkte von Interesse schnell identifizieren.
Implementierung
Mithilfe der Anmerkungsfunktionen von Matplotlib können wir interaktive Inhalte erstellen Anmerkungen, die nur sichtbar werden, wenn sich der Cursor in der Nähe eines bestimmten Punktes befindet. Der folgende Code demonstriert diesen Ansatz:
import matplotlib.pyplot as plt import numpy as np # Generate random scatter plot data x = np.random.rand(15) y = np.random.rand(15) names = np.array(list("ABCDEFGHIJKLMNO")) # Create scatter plot and annotation fig, ax = plt.subplots() sc = plt.scatter(x, y, c=np.random.randint(1, 5, size=15), s=100) annot = ax.annotate("", xy=(0, 0), xytext=(20, 20), textcoords="offset points", bbox=dict(boxstyle="round", fc="w"), arrowprops=dict(arrowstyle="->")) annot.set_visible(False) # Define hover function to update annotation def hover(event): # Check if hover is within axis and over a point if event.inaxes == ax and annot.get_visible(): cont, ind = sc.contains(event) if cont: # Update annotation with point data pos = sc.get_offsets()[ind["ind"][0]] annot.xy = pos text = "{}, {}".format(" ".join(list(map(str, ind["ind"]))), " ".join([names[n] for n in ind["ind"]])) # Show annotation and update figure annot.set_text(text) annot.set_visible(True) fig.canvas.draw_idle() else: # Hide annotation annot.set_visible(False) fig.canvas.draw_idle() # Connect hover event to function fig.canvas.mpl_connect("motion_notify_event", hover) plt.show()
Wenn Sie mit der Maus über verschiedene Punkte im Streudiagramm fahren, wird die Anmerkung angezeigt und zeigt die zugehörigen Daten an, sodass Sie schnell auf wichtige Informationen zugreifen können, ohne das Diagramm mit permanenten Beschriftungen zu überladen .
Das obige ist der detaillierte Inhalt vonWie erstelle ich schwebende Anmerkungen in Matplotlib-Streudiagrammen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!