[JAK] XY Graph i oznaczanie nieciągłości danych?

Tematy związane z tworzeniem dużych aplikacji. Zaganiednia dotyczące architektury oraz zasad tworzenia optymalnych rozwiązań.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: ky3orr »

Witam wszystkich,

jak zwykle zgłaszam się z nie lada problemem :)

Otóż mam serię pomiarową, gdzie kolejne punkty są oddalone od siebie powiedzmy o jedna minutę.
Niestety ze względów technicznych w tych danych w kilku miejscach występują dziury pomiarowe trwające po kilka minut, a nawet dobę.
Dane, które wrzucam na XY Grapha są łączone linią pomiędzy punktami.

Jak zrobić, ażeby na tym wykresie innym kolorem oznaczyć przedziały nieciągłości danych wejściowych?
Dodam, że punkty: początkowy i końcowy każdego z przedziałów nieciągłości mam powiedzmy w tabeli.

Problem w tym jak oznaczyć na wykresie kolorem, że ten kawałek nie wynika z pomiarów, a z połączenia sąsiadujących punktów linią przez XY Grapha?

Myślałem na dodawaniem kolejnych plotów dla każdego z przedziałów nieciągłości w innym kolorze niż plot główny i może jakoś by to wyglądało.
Co jednak gdy tych dziur będzie 10, 20, 100? Będzie hardcore :P

Co o tym myślicie? Może ktoś już z tym tematem walczył?

celowo nie wrzucam żadnych danych ponieważ moje są ciągnięte z bazy, a przykładowy ciąg niech będzie postaci: czas, wartość
{1,1; 2,1; 3,5; 8,7; 9,6; 10,6; 11,6; 12,6; 13,8; 14,9; 22,6; 23,5; 24,5; 25,4; 26,3; 27,3}
to co ma być innym kolorem to krechy pomiędzy punktami: {3,5; 8,7} i {14,9; 22,6}

No chyba, że się nie da i wtedy może jakieś kursory dodam czy coś...

za wsze info serdeczna dzięka

pozdrawiam
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: [JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: Pitol »

Możesz te przedziały nieciągłości zrobić w postaci jednego dodatkowego wykresu. Stwórz tablicę o tej samej wielkości co tablica z Twoimi wynikami, która będzie się składać z punktów nieciągłości (a w pozostałych miejscach niech ma wartości NaN - nie będą wyświetlane). Zbudowanie takiej tablicy spowoduje, że dodatkowy plot będzie składał się tylko z tych kawałków nieciągłości, o których wspominałeś.

mniej więcej tak (przykład na podstawie danych, które podałeś):
wykres.gif
EDIT: ważne, żeby ten plot z nieciągłościami był "wyżej" od zwykłego. Będzie wtedy nakładał się na niego wtedy kiedy trzeba.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: ky3orr »

Pitol rewelacja!

Sprawdzę na dniach (teraz odpoczywam po tygodniu intensywnego kodowania) i dam znać.
Wygląda cudownie. Jedyny mój problem to to, że czasem wrzucam tabelę ze 150tys punktów (coś na tych danych wcześniej liczę), więc razem będzie 300k ;P

Ale ważne, że się da.
Dla wartości NaN jest dostępna stała?

pozdrawiam
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: bartus »

jako wartosc stalej, zamiast 0 czy 5 wpisujesz nan i juz :)
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

Re: [JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: Pitol »

ky3orr pisze:Jedyny mój problem to to, że czasem wrzucam tabelę ze 150tys punktów (coś na tych danych wcześniej liczę), więc razem będzie 300k ;P
W takim razie staraj się nie odswieżać za często tego wykresu bo może to spowolnić program.
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
bartus
Posty: 141
Rejestracja: 07 maja 2007 00:00
Wersja środowiska: LabVIEW 2009
Lokalizacja: Wrocław/Żory

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: bartus »

ewentualnie zawsze mozna wyswietlac jego czesc i kursorem zrobic "przemiatanie". Juz tlumacze

zakladasz ze za jednym razem chcesz miec ok 10k probek wiec najpierw od ind 0 do 9999 wyswietlasz probki, a pod wykresem robisz "suwak" ktorym zmienia sie startowy index co np 1; 10; 20 ... (wedle uznania). Kazda zmiana wartosci na suwaku - odswierza wykres, z tym ze nie jest on az tak "rozdmuchany". No i zawsze mozesz zrobic opcje "pokaz caly" w nowym oknie, z tym ze bardziej statycznie
Jest pare rzeczy dla których warto zyc - TO,UE i nie zmienia sie nic :)
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: ky3orr »

dzięki za wskazówki.
jeśli chodzi o odświeżanie to jest ono raz na minutę tak więc nic złego się nie dzieje.

problemem jest tylko te 150k punktów, które i tak muszę wyciągnąć z bazy ponieważ muszę pewną statystykę na nich policzyć.
mógłbym próbować usuwać np. cO któryś pomiar przed wyświetleniem na XY Graph, ale zajęłoby to czas procesora, a pamięć i tak jest potrzebna przy wyciąganiu danych z bazy więc oszczędność wątpliwa (zresztą pewnie całość jest jakoś alokowana dla wykresu, ponieważ zawsze można wyciągnąć chyba cała tą tablicę którą pokazuje).
problemem przy usuwaniu co którychś pomiarów jest to, że kompletnie mogę stracić info o nieciągłościach i takie tam :)

gdy uda mi się zrobić ten kolorowy wykres podzielę się na forum.

serdeczne dzięki za merytoryczny wkład w rozwiązanie problemu!

pozdro4all
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
Awatar użytkownika
spec.kolombo
Posty: 126
Rejestracja: 20 sie 2008 06:33
Wersja środowiska: LabVIEW 2009
Lokalizacja: Gdynia
Kontakt:

Re: [JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: spec.kolombo »

A ja nie rozumiem po co dodatkowe 150k punktów... myślę że wystarczy dodać NaN w miejsca nieciągłości - da to tylko 3 punkty na nieciągłość. Przykład na rys.
Załączniki
wykres.png
Lepiej być bogatym i zdrowym, niż biednym i chorym.
Spec Kolombo
Awatar użytkownika
Pitol
Moderator
Posty: 984
Rejestracja: 19 lip 2007 00:00
Wersja środowiska: LabVIEW 2019
Lokalizacja: Kraków

[JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: Pitol »

ooo... nawet nie wiedziałem, że tak można :)
ObrazekObrazekObrazek
Chcesz taki podpis? Zajrzyj tutaj
Awatar użytkownika
wino
Posty: 549
Rejestracja: 23 gru 2005 00:00
Wersja środowiska: Nie mam LabVIEW
Lokalizacja: Kraków

Re: [JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: wino »

A nie lepiej będzie jak tej czerwonej linii w ogóle nie będzie tylko będzie tam pusto? Od razu będzie widać, że pomiar w tych chwilach czasu się nie wykonał i zajmie to najmniej miejsca w pamięci, a do tego wykres się będzie szybciej rysował.
Awatar użytkownika
ky3orr
Posty: 149
Rejestracja: 10 gru 2006 00:00
Wersja środowiska: LabVIEW 8.6
Lokalizacja: Siechnice
Kontakt:

Re: [JAK] XY Graph i oznaczanie nieciągłości danych?

Post autor: ky3orr »

Udało się.

Ukończyłem pracę nad problemem.
Niestety nie prezentuję wykresów, ponieważ dane na jakich aktualnie pracuję mają krótkie przerwy, na poziomie jednego lub dwóch pomiarów na kilka dni co niestety nie pozwala zauważyć kolorów przy wykresie zawierającym historię pomiarową za np. 4 miesiące.
Ale przy tej okazji wprowadziłem sobie indykator pokazujący ile takich punktów nieciągłości występuje w analizowanych danych i pracuję właśnie nad prezentacją tych zakresów w tabeli pokazującej się w okienku wyskakującym po kliknięciu w indykator.

Cieszę się, że problem jest rozwiązany (i będzie wykorzystany przy podglądach za krótkie okresy).
Znów się czegoś nauczyłem :)

Jak zwykle pozdrawiam
KY3ORR

Okablowanie audio / RF -> www.CabLAB.eu
ODPOWIEDZ