Strona 1 z 1
Kolory wykresu
: 17 kwie 2018 23:21
autor: dadrian
Witam wszystkich, stawiam pierwsze kroki w środowisku LabVIEW i mam do was pytanie odnośnie zwykłego Waveform Graph, na którym umieszczone mogą być 4 wykresy, a mianowicie, czy jest możliwość przypisania konkretnego koloru do danego wykresu?
W załączniku wysyłam screen małej częsci programu i chodzi o to, aby dla danego pliku z danymi wykres rysował się zawsze w ustalonym kolorze. Aktualnie kolory zależą od Merge signals i tak pierwsze dane rysują się na biało, a drugie na czerwono, ale wystarczy, że wyłączę pierwsze dane to drugie rysują się znów na biało. Jest możliwość przypisania konkretnym danym konkretnego koloru w jakim mają się rysować?
Wiem, że dość chaotycznie napisane, ale nie mam pojęcia jak to inaczej wytłumaczyć.
Re: Kolory wykresu
: 18 kwie 2018 00:22
autor: apb
Możesz skorzystać z property node:
PPM na Waveform Graph->Create->Property Node->Plot->Plot Color
Wcześniej musisz wybrać dla której krzywej ustawiasz kolor (property node "Active Plot").
W zależności od ilości krzywych odpowiednio zmieniasz kolory.
Kolejny sposób to zawsze wyświetlasz 4 wykresy i tylko ukrywasz te niepotrzebne (property node "Plot Visible").
Re: Kolory wykresu
: 18 kwie 2018 00:52
autor: dadrian
Czy mógłbyś wyjaśnić jak mam to połączyć i gdzie? Bo nie mam zielonego pojęcia co mam z tymi dwoma bloczkami zrobić i gdzie wybrać ten kolor ;/
Re: Kolory wykresu
: 18 kwie 2018 01:02
autor: apb
Poszukaj odpowiedzi w pomocy dostępnej w LabVIEW.
PPM na property node->Help for...
Re: Kolory wykresu
: 18 kwie 2018 01:14
autor: dadrian
Albo nie potrafię tego zrobić, albo to nie rozwiązuje mojego problemu niestety, bo po odznaczeniu jednych danych, a zaznaczeniu drugich, kolor pozostaje bez zmian.
Re: Kolory wykresu
: 18 kwie 2018 10:09
autor: dajpanspokój
Chodzi o to ze jak wyswietlaja sie 3 wykresy R, B, W z kolorami czerwony, niebieski, bialy, to W musi byc zawsze bialy niezaleznie czy to jest trzeci plot, czy pierwszy (bo R i B nie ma)?
Nie ma na to jakiejs prostej rady, to troche tak jak prosic monitor komputera, zeby zmienil jasnosc w zaleznosci, ktora zakladka w przegladarce jest otwarta...
Przed ustawieniem kolorow, musisz wiedziec ktory wykres jest wyswietlony, a ktory nie, np mozesz zrobic liste boolean. Majac druga liste kolorow odpowiadajacym poszczegolnym wykresom, mozesz ustawic nowa liste kolorow dla kazdego wykresu, ktory jest na liscie jako True.
Re: Kolory wykresu
: 18 kwie 2018 18:50
autor: dadrian
Dokładnie chodziło o to, żeby każdy bloczek z czytaniem z pliku miał określony kolor na wspólnym wykresie. Jeśli włączę pierwszy bloczek wykres powinien mieć np. kolor biały, ale gdy go wyłączę i włączę bloczek trzeci to kolor wykresu powinien być zielony, a nie z powrotem biały.
Niestety rozwiązanie wyżej nie podziałało na większej ilości danych i program się wysypywał, ale udało mi się zrobić to po swojemu i teraz pytanie, czy ktoś jest mi w stanie wyjaśnić co ja zrobiłem, że to zaczęło działać tak jak oczekiwałem?
Program działa teraz dobrze, ale nie mam zielonego pojęcia dlaczego. Dokładnie chodzi mi o części w czerwonej ramce.
Re: Kolory wykresu
: 19 kwie 2018 10:10
autor: apb
Obecnie zawsze na wykresie wyświetlasz wszystkie krzywe, w przypadku ustawienia wartości False nie podajesz żadnych danych dla danej krzywej, więc teoretycznie się ona nie wyświetla. Rozwiń legendę i zmień kolory krzywych - zobaczysz, że odpowiednie kolory były tam już wcześniej ustawione, Set Waveform Attribute nie ustawia koloru. Możesz usunąć to SWA, nie jest do niczego potrzebne.
Wróć do rozwiązania zaproponowanego przez @Dajpanspokój, musi działać poprawnie jeśli jest dobrze zaimplementowane.
Re: Kolory wykresu
: 19 kwie 2018 10:18
autor: dajpanspokój
Hmm, tak naprawde to wystarczy ci ten pierwszy bloczek, nie musisz przypisywac zadnego koloru.

- Capture.PNG (1.24 KiB) Przejrzano 8849 razy
Ten niebieski kabel to jest dynamic data. Jak jest puste i wchodzi do Merge Signal.vi, to w ogole nie jest dodawany na wyjscie. W twoim przypadku jesli nie zaznaczysz zeby dane byly czytane, to na wyjsciu case structure masz puste dynamic data i po mergu bedziesz mial mniejsza ilosc sygnalow.
Natomiast! Jak zamienisz na waveform, to robi sie z tego klaster z pustymi danymi. Ale
nie pusty klaster, wiec jak mergujesz to
jest dodawany na wyjscie. Dlatego jak zrobisz z tego array size (zobacz vi w zalaczniku), to zawsze bedzie 4, nawet jak nie zaznaczysz zadnych danych, bo bedziesz mial 4 klastery z pustymi danymi.
I teraz jak wszystko wyswietlasz na grafie to puste dane sa wyswietlane jako pusty plot, ktory zajmuje swoj kolejny kolor. 4 ploty, z ktorych niektore sa puste, ale maja przypisany ten sam kolor.
I tak naprawde to twoje rozwiazanie jest lepsze od mojego, bo mozesz dodawac nowe dane do wykresu, bez przymusu okreslania ktory kolor ma byc jaki, a kolory zawsze beda te same
