Re: Wizualizacja danych wprost z DB

By Marek Kopel

dzieciou napisał:

Szukam jakiejś alternatywy dla niego, nie wymagającej pisania programu.

a ja to robię tak:
z różnych lokalizacji, więc zdalnie na Ubuntu Server przez VNC (te zielone okna to domyślny twm)

bar chart

bar chart

mysql -uroot -p -e "SELECT y INTO OUTFILE '/tmp/y' LINES TERMINATED BY ',' FROM vis.dane"
//zrzucam kolumnę z MySQL do pliku rozdzielając wartości przecinkami

sed 's/^/y=[/;s/$/];\n/' /tmp/y > o.m
//wstawiam na początku linii y=[, a na końcu ];(nowa linia) i zapisuję jako skrypt octave (czy matlab)

echo "bar(y);" >> o.m
//dodaję polecenie rysowania bar chart


run o
//w terminalu poniżej w odpalonej octave uruchamiam ten skrypt

ploted chart

ploted chart

a tak plotuję wygładzony wykres z tych 20 wartości (żeby nie była to prosta łamana)

octave:2> x=1:20
octave:3> xx=1:.1:20
octave:4> yy=spline(x,y,xx)
octave:5> plot(x,y,"+",xx,yy,"-")

xx to przedział <1;20>, ale nie co 1, tylko co 0,1
yy to aproksymacja 20-u y-ów do 200 wartości spline‘m (podobno tak też się wygładza wykresy w Calc’u czy Excel’u)
plotuję 20 wartości krzyżykiem (“+”) i 200 linią (“-”)

w praktyce te skrypty tworzę z poziomu PHP, a wykresy od razu zrzucam print‘em do PNG
ewentualnie wcześniej ustawiam xlabel, ylabel i title

no i w octave łatwo plotować 3D (mesh) np. tak (trudniej o dane :) :

example mesh

example mesh

Tags: , , ,

Leave a Reply