Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> System do wykresu temperatur
tikky
post
Post #1





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


Mam urządznie pomiarowe krtóre zapisuje do bazy MySQL dane o temperaturze z kliku czujników.
W bazie mam 3 komórrki: Nazwa czujnika, temperatura i data pomiaru w formacie '2008-01-31 10:22:00;

Szukam skryptu do rysowania wykresów. Obecnie używam Open Flash Chart. Problem jest taki, ze nie moge narysowac prostego wykresu x,y dlatego iż dane odczytywane nie są w równych odstępach. I np. w ciągu doby z jednego czujnika mam np. 150 odczytów a z drugiego 200. I jak to złożyć w jeden wykres?

Poniższy przykład ilustruje wady obecnego rozwiązania:
http://maxjar.no-ip.org/chart.php

Musiałby być jakiś dedykowany system wykresów, który potrafił by pracować z osią czasu x.

Wiem, że takie rozwiązanie jest możliwe przy zastosowaniu RRDtool z tym, że to by się wiązało z przebudową całej bazy i systemu pomiarów. A ja mam już wiele dancyh zgromadzonych w MySQL.

Jeśli ktoś ma jakieś doświadcznie w tym temacie będę wdzięczny za pomoc w znalezieniu odpowiedniego rozwiązania.

Pozdrawiam

Piotr


--------------------
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 12)
Riklaunim
post
Post #2





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


matplotlib w Pythonie jest do wykresów "naukowych" smile.gif generowałem w nim wykresy danych z chromatografu nawet tongue.gif tutaj co nieco o matplotlib.

Ten post edytował Riklaunim 19.12.2008, 10:03:19


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
tikky
post
Post #3





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


No widzę, że jest w Pythonie, tyle że ja szukam czegoś w PHP. 


--------------------
Go to the top of the page
+Quote Post
Riklaunim
post
Post #4





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Możesz napisać skrypt generujący PNG w Pythonie, a w PHPie stronę, co będzie je wyświetlać, żądać.
Możesz próbować np z tym: http://code.google.com/intl/pl/apis/chart/ -- ale czasami niektóre typy wykresów zachowują dość jakościową a nie ilościową skalę smile.gif


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
mike
post
Post #5





Grupa: Przyjaciele php.pl
Postów: 7 494
Pomógł: 302
Dołączył: 31.03.2004

Ostrzeżenie: (0%)
-----


Cytat(Riklaunim @ 19.12.2008, 11:38:22 ) *
(...) ale czasami niektóre typy wykresów zachowują dość jakościową a nie ilościową skalę smile.gif
W tym API mozna kontrolować granulację i dzięki temu można decydować czy nastawiamy sie na jakość danych czy wygląd.
Go to the top of the page
+Quote Post
tikky
post
Post #6





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


Próbowałem kiedyś używać google API ale nie pamiętam żeby tam była opcja z godzinami. Wiem, że na czyms się zaciąłem ale nie pamiętam dokładnie co to był za problem.


A jakieś inne rozwiązania?

Ciekawie wygląda także pChart ale nie wiem czy tam jest możlwość pracy z osią czasu.
http://pchart.sourceforge.net/support.php


--------------------
Go to the top of the page
+Quote Post
erix
post
Post #7





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




http://oss.oetiker.ch/mrtg/


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
pawel.s
post
Post #8





Grupa: Zarejestrowani
Postów: 69
Pomógł: 2
Dołączył: 15.08.2007
Skąd: trojmiasto

Ostrzeżenie: (0%)
-----


ja bym użył tego http://pear.veggerby.dk/

pozdrawiam
Go to the top of the page
+Quote Post
oscar17
post
Post #9





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

Ostrzeżenie: (0%)
-----


Z tego co pamiętam jak działa OFC (przynajmniej w wersji 1.x) możesz zrobić coś takiego że zakładasz że oś X masz co minutę i sprawdzasz dla każdego pomiaru czy masz dla tej godziny pomiar, jeśli nie to ustawiasz wartość NULL - on pominie to na wykresie i będziesz miał wykres ze wspólną osia dla niezależnej liczby pomiarów jeśli dobrze zrozumiałem. Pogrzeb trochę jeszcze w OFC, bo na pewno ma on duże możliwości, kiedyś dużo w nim robiłem różnych wykresików...
Go to the top of the page
+Quote Post
tikky
post
Post #10





Grupa: Zarejestrowani
Postów: 112
Pomógł: 1
Dołączył: 2.10.2007

Ostrzeżenie: (0%)
-----


Erix:
MRTG jest interesujące ale to działa pod Perlem a nie PHP

Pawel.s:
Sprawdzę ten system. Czy używałeś tego lub wiesz że on działa z osią czasową i/lub autoskalą ?

Oscar17:
Myślałem, żeby obejść problem generowania wykresów robiąz osobne zapyanie dla każdej minuty. Ale zastanawia mnie jaka będzie wydajność takiego skryptu, który będzie musiał zrobić 1440 zapytań aby wygenerować wykres z 24 godzin * ilość czujników. Dla 10 z nich to byłoby prawie 15 tysięcy zapytąń. Czy przy tylu zapytaniach będzie widoczne spowolnienie działania?


--------------------
Go to the top of the page
+Quote Post
oscar17
post
Post #11





Grupa: Zarejestrowani
Postów: 102
Pomógł: 22
Dołączył: 3.03.2008

Ostrzeżenie: (0%)
-----


Cytat(tikky @ 22.12.2008, 12:27:30 ) *
Oscar17:
Myślałem, żeby obejść problem generowania wykresów robiąz osobne zapyanie dla każdej minuty. Ale zastanawia mnie jaka będzie wydajność takiego skryptu, który będzie musiał zrobić 1440 zapytań aby wygenerować wykres z 24 godzin * ilość czujników. Dla 10 z nich to byłoby prawie 15 tysięcy zapytąń. Czy przy tylu zapytaniach będzie widoczne spowolnienie działania?

Lepiej zrób jedno zapytanie który pobierze Ci wartości z całego dnia, a następnie zrób pętle w php, która będzie iterowała co okres jednej minuty i sprawdzała czy dla tej godziny masz daną wartość - jeśli tak przepisujesz ją do jakiejś tablicy wynikowej - czy też dodajesz do wartości obiektu, jeśli nie to dodajesz w tamto miejsce wartość NULL. OFC gdy widzi null to pomija i w ogóle nie zaznacza na wykresie, ale oś X się będzie zgadzać dla wszystkich...
Go to the top of the page
+Quote Post
Riklaunim
post
Post #12





Grupa: Zarejestrowani
Postów: 640
Pomógł: 44
Dołączył: 8.02.2004

Ostrzeżenie: (0%)
-----


Cytat(tikky @ 22.12.2008, 14:27:30 ) *
Erix:
MRTG jest interesujące ale to działa pod Perlem a nie PHP


Jeżeli masz bardzo ciekawą bibliotekę rozwiązującą twoje problemy napisaną w innym języku to nie powinieneś tego od razu odrzucać. Stosowanie gorszych rozwiązań w PHP, tylko dlatego że to PHP to obchodzenie problemów szerokim łukiem. Chcesz mieć bardzo dobre wykresy - użyj najlepszego rozwiązania niezależnie od języka.


--------------------
Biblioteki: Skrypty, CMS | Kurs PHP | Python
Go to the top of the page
+Quote Post
erix
post
Post #13





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Poza tym, nic nie stoi na przeszkodzie, aby przeportować skrypty (między Perlem a PHP jest wiele podobieństw) lub tak je zmodyfikować, aby korzystały z wzajemnych danych - np. skryptem PHP wyciągasz dane, a przez MRTG je obrabiasz.


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 22.08.2025 - 02:39