Ich verwende „adjust_text“, um Text richtig auf dem Plot zu platzieren.
Ich möchte keinen Text auf den Verbindungslinien zwischen den Punkten oder den Fehlerbalken platziert haben.
Meine derzeit beste Version des Beispielcodes ist:
import numpy as np
import matplotlib.pyplot as plt
import matplotlib as mpl
fig, ax = plt.subplots()
x = np.linspace(0, 1, 50) * np.pi
y = np.sin(x)
errbar_container = ax.errorbar(x, y, xerr=0.25, yerr=0.05)
texts = []
for idx in range(0, len(x),2):
texts.append(
ax.annotate(
idx,
xy=(x[idx], y[idx]),
size="large",
zorder=100,
)
)
adjust_text(
texts,
x=x,
y=y,
expand=(2, 2),
objects=[
*[mpl.transforms.Bbox(seg) for seg in errbar_container.lines[-1][0].get_segments()],
*[mpl.transforms.Bbox(seg) for seg in errbar_container.lines[-1][1].get_segments()],
],
arrowprops=dict(arrowstyle="->", color="red"),
)
plt.show()
Ich habe auch versucht, autoalign, only_move zu verwenden, um z.B. Verschiebung nur in x- Richtung, wie hier erwähnt, aber die Optionen scheinen ebenfalls ignoriert zu werden.
Wie stelle ich sicher, dass kein Text auf den Fehlerbalken und der Verbindung platziert wird? Zeilen?
Maptloblib, Adjust_text und Errorbar ⇐ Python
-
- Similar Topics
- Replies
- Views
- Last post