Chciałbym wykreślić pionową linię (wolałbym jakąkolwiek orientację, ale teraz byłbym zadowolony z pionu) z dwukolorowymi kresek, powiedzmy czerwono-niebiesko-czerwonymi -blue -...Wykreślanie wielobarwnej linii w Matlab
wiem, że mogę to zrobić tak:
plot([1,1],[0,1],'r'),
hold on,
plot([1,1],[0,1],'--b')
Jednakże, ponieważ muszę być w stanie przesunąć linię, między innymi, powinien mieć tylko jeden uchwyt. Jak mogłem to zrobić?
EDYTOWANIE Dziękuję za odpowiedzi. Chyba powinienem podać więcej informacji.
Mam niektóre dane, które są podzielone na różne części. Chcę móc ręcznie dostosować granice między klasami. W tym celu rysuję pionowe linie na granicach klasyfikacji i używam draggable, aby umożliwić przesuwanie linii.
Dla granicy między klasą czerwoną i niebieską, chciałbym mieć czerwoną/niebieską linię.
plot(ones(10,1),linspace(0,1,10),'-bs','MarkerFaceColor','r','MarkerEdgeColor','none','linewidth',6)
jest to, czego aktualnie używam. Jednak nie jest tak ładna (jeśli chcę równego odstępu, staje się prawdziwym bólem i chcę nadać obu kolorom tę samą wagę) i chciałbym mieć możliwość użycia trzech kolorów (a nie z krawędzią znacznika i twarz jest inna, ponieważ sprawia, że moje oczy krwawią).
Niestety, przeciąganie nie pozwala mi używać wielu uchwytów, a grupowanie linii za pomocą hggroup wydaje się nie tworzyć przeciągalnego obiektu.
cline wygląda obiecująco, ale kolory tęczy nie będą działać w mojej aplikacji.
Tak, chciałbym móc to zrobić. Niestety nie działa to dla mojej aplikacji (patrz edycja). – Jonas
@ Jonas: Dodałem dodatkowe rozwiązanie do mojej odpowiedzi, która moim zdaniem powinna działać z przeciąganiem. – gnovice
Dzięki! Działa to bardzo ładnie. Potrzebuję użyć setappdata/getappdata, ponieważ już korzystam z UserData. – Jonas