Nie jesteś zalogowany.
Jeśli nie posiadasz konta, zarejestruj je już teraz! Pozwoli Ci ono w pełni korzystać z naszego serwisu. Spamerom dziękujemy!
Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.
Witam, wykonałem sobie wykres za pomocą api google'a.
Wszystko ładnie się wyświetla ( w zasadzie zrobiłem o parciu o dane z bazy ale problem jest trochę inny.)
Mianowicie chodzi mi o bąbelki :
<html> <head> <script type="text/javascript" src="https://www.google.com/jsapi"></script> <script type="text/javascript"> google.load("visualization", "1", {packages:["corechart"]}); google.setOnLoadCallback(drawChart); function drawChart() { var data = google.visualization.arrayToDataTable([ ['ID', 'Life Expectancy', 'Fertility Rate', 'Region', 'Population'], ['CAN', 80.66, 1.67, 'North America', 33739900], ['DEU', 79.84, 1.36, 'Europe', 81902307], ['DNK', 78.6, 1.84, 'Europe', 5523095], ['EGY', 72.73, 2.78, 'Middle East', 79716203], ['GBR', 80.05, 2, 'Europe', 61801570], ['IRN', 72.49, 1.7, 'Middle East', 73137148], ['IRQ', 68.09, 4.77, 'Middle East', 31090763], ['ISR', 81.55, 2.96, 'Middle East', 7485600], ['RUS', 68.6, 1.54, 'Europe', 141850000], ['USA', 78.09, 2.05, 'North America', 307007000] ]); var options = { title: 'Correlation between life expectancy, fertility rate and population of some world countries (2010)', hAxis: {title: 'Life Expectancy'}, vAxis: {title: 'Fertility Rate'}, bubble: {textStyle: {fontSize: 11}} }; var chart = new google.visualization.BubbleChart(document.getElementById('chart_div')); chart.draw(data, options); } </script> </head> <body> <div id="chart_div" style="width: 900px; height: 500px;"></div> </body> </html>
Wszystko jest ok. Tylko mam dwa pytania:
- czy można w najwyższym bąbelku zrobić przecięcie dwóch linii dodatkowych?
Czyli wszystko jest tak jak powyżej ale bąbelek najbardziej wysunięty ma na sobie dwie linie poziomą i pionową.
to jedna sprawa. A druga:
- google do najwyższych wartości ( chodzi mi o oś x,y ) dodaje swoje wartości. Czy można dodać samemu ręcznie np po 10% do każdej osi?
Byłbym wdzięczny za pomoc :)
Offline
Albo inaczej. Jak na powyższy wykres bąbelkowy nanieść wie proste (pozioma i pionowa które będą się przecinać z osią x,y w podanych punktach)
Jest taka mozliwość?? Czy na tych wykresach nie da rady??
Chyba spróbuję to wykonać tworząc plik excela z wykresem za pomocą Spreadsheet_Excel_Writer. Miał ktoś może z tym styczność?
I czy jest możliwe wykonanie wykresu punktowego na którym przecinają się dwie linie ( ale nie po punktach tylko według dwóch osobnych wartości )
Czyli mam np w kolumach A i B 10 różnych wartości dzięki którym na wykresie pojawią się punkty. Oraz w kolumnie C i D jeden wiersz z wartościami
w których mają przecinać się dwie proste. Możecie określić czy jest to możliwe? Umieszczenie tego na jednym wykresie? Byłbym wdzięczny gdyby ktoś mógł
mnie nakierować.
Ostatnio edytowany przez debbie (2014-02-13 10:15:12)
Offline
OK. Udało się za pomocą biblioteki jpgraph. Połaczenie wykresu punktowego z liniowym.
Ale teraz mam taki problem odnośnie array'a którego wartości wyciągane są z bazy danych.
Mianowicie aby wyznaczyć punkty na wykresie muszę użyć:
$datax = array(3,8,15,4,25,30);
$datay = array(10,15,7,20,30,25);
ale dane wewnątrz array'a muszę wstawiać z bazy danych. Wyciągane są z while'a.
dla $datax zmienna $ilosc a dla $datay zmienna $kwota.
ma ktoś może pomysł tak wrzucać te zmienne do array'a??
Czyli jeżeli z zapytania zrobię:
while($wiersz=mysql_fetch_array ($wykonaj)) { echo $kwota; }
to wynikiem będą wartości: 3 8 15 4 25 30
Te wartości mają trafić do array'a aby w rezultacie wyszło:
$datax = array(3,8,15,4,25,30);
( jak widać po ostatniej niema przecinka ).
Byłbym wdzięczny za pomoc.
Offline
Beznadziejnie opisujesz swoje problemy. To co napisałeś się nie klei. Kod while, który wkleiłeś nie wiem jakim cudem będzie zwracał wartości, które podałeś. Będzie wypisywał zmienną $kwota, która nie wiadomo gdzie jest zdefiniowana. Po co umieszczać to w while po wierszach wyników jakiegoś zapytania? Bez sensu. No ale nie ważne, rozumiem tylko tyle, że nie wiesz jak wrzucić coś z wyników zapytania do tablicy. Możesz po prostu $array[] = $var albo użyć array_push(). To w sumie najbardziej podstawowe operacje na tablicach. Zamiast tracić czas na pytania o podstawy lepiej pozaglądaj w dokumentacje na php.net.
Offline
Nie chciałem rozpisywać całego kodu. Zmienna $kwota przyrównana jest do $wiersz['kwota'] i jest wyciągana z bazy danych.
while służy do tego żeby wyciągać te kwoty dopóki nie zostanie spełniony warunek z zapytania.
Najprościej to mam zapytanie:
$zapytanie = "SELECT count(*) ilosc, SUM(kwota_0 + kwota_1 + kwota_2 + kwota_3 + kwota_4 + kwota_5 + kwota_6) AS kwota FROM tabela where data between '2014.01.01' and '2014.02.01' GROUP BY rodzaj1, rodzaj2;"; $wykonaj = mysql_query($zapytanie) while($wiersz=mysql_fetch_array ($wykonaj)) { $kwota = $wiersz['kwota']; }
Jak widzisz $kwota wyświetli kolejno kwoty z bazy danych.
A chodzi mi o wynik w postaci array(3,8,15,4,25,30); gdzie cyfry w nawiasach to $kwota wystawiana przez while.
( aby w kodzie z wykresem ustawić punkty potrzebuję tego w takiej formie. )
Offline
Lepiej pisać całość by się nikt nie musiał domyślać. No to w Twoim przypadku jak pisałem w while byłoby: $datay[] = $wiersz['kwota']; I będziesz miał tablicę kwot. Chyba o to chodzi.
Offline