Generuję wiele wykresów różnych zestawów danych po sobie za pomocą MATLAB. Chciałbym, aby pozycje legendy były takie, aby nie nakładały się na linie kreślone i byłoby idealnie, gdyby to miejsce mogło być wykonane automatycznie.Umieść legendę MATLAB w taki sposób, aby nie nakładała się na działce.
Jestem świadomy ustawienia 'Location'
na 'best'
, aby to osiągnąć, ale umieszczenie legendy wydaje się być niezręczne przy użyciu 'best'
(poniżej). Chciałbym, żeby legenda znalazła się w fabule. Natrafiłem też na sposób, aby legenda stała się przezroczysta (here), tak aby nie wyświetlała się ona w postaci niewidocznej, ale wyraźnie umieszczenie jej w innym miejscu jest tym, czego szukam.
Czy istnieje sposób, aby umieścić legendę w skrajnych obrazu ('NorthWest'
, 'SouthWest'
etc) automatycznie, tak że nie zachodzą na kreślonych danych (siebie z metod proponowanych powyżej)?
Być może mógłbyś użyć właściwości 'Position' zamiast' Location'? To wymagałoby drobnego poprawienia. Możesz zrobić listę, powiedzmy, 4-6 pozycji, w których uważasz, że pozycja jest w porządku, a następnie sprawdź dane dla tych pozycji. Na przykład na danym wykresie nie jest trudno wyliczyć, że dla pierwszych 5 x wartości dostępny jest niższy zakres wykresu, a zatem byłoby to odpowiednie miejsce do umieszczenia legendy. –
Nie można tego teraz wypróbować - ale co się stanie, jeśli użyjesz 'best', określisz pozycję legendy (jestem pewien, że jest to właściwość, którą możesz odczytać), wymyślić, jaki jest najbliższy kąt, a następnie przesuń ją? Powinna istnieć możliwość wykonania tej małej funkcji, którą wywołujesz z żądanymi osiami jako argumentem. – Floris