Jak mogę dodać adnotacje do zakresu moich danych? Np. Dane od x = 5
do x = 10
są większe niż niektóre wartości odcięcia, jak mogę to zaznaczyć na wykresie. Gdybym robił notatki ręcznie, po prostu rysowałbym duży nawias powyżej zakresu i zapisywał moją adnotację nad nawiasem.Dodawanie zakresów adnotacji danych w matplotlib
Najbliższe, jakie widziałem, to używanie arrowstyle='<->'
i connectionstyle='bar'
, aby dwie strzałki wskazywały na krawędzie danych linią łączącą ich ogony. Ale to nie robi dobrze; tekst wpisany do adnotacji zakończy się pod numerem zamiast strzałki nad paskiem.
Oto moja próba, wraz z nim w wynikach:
annotate(' ', xy=(1,.5), xycoords='data',
xytext=(190, .5), textcoords='data',
arrowprops=dict(arrowstyle="<->",
connectionstyle="bar",
ec="k",
shrinkA=5, shrinkB=5,
)
)
Kolejny problem z moją próbę rozwiązania jest to, że kwadrat kształt wspornika adnotacji nie bardzo jasno, że jestem podświetlanie zakresu (w przeciwieństwie do np. nawiasów klamrowych). Ale przypuszczam, że to po prostu bycie dziadkiem w tym momencie.
użycie dwóch adnotacji, jedna z tekstem, ale nie ma strzałki, a jeden ze strzałką, ale nie tekst. Zobacz także 'axvspan' http://matplotlib.org/api/axes_api.html#matplotlib.axes.Axes.axvspan – tacaswell
Najlepiej również pokazać, co próbujesz (z fragmentem kodu). – tacaswell
@tcaswell Zastanawiałem się nad użyciem dwóch adnotacji, ale wymagałoby to ręcznego pozycjonowania tekstu i konieczności ręcznej aktualizacji obu, jeśli, powiedzmy, zakresu się porusza. Wydaje się, że byłoby dość powszechnym problemem, że istnieje bardziej optymalne rozwiązanie. – ari