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!

Ogłoszenie

Prosimy o pomoc dla małej Julki — przekaż 1% podatku na Fundacji Dzieciom zdazyć z Pomocą.
Więcej informacji na dug.net.pl/pomagamy/.

#1  2014-02-12 12:05:06

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Wykresy google wyznaczanie linii

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 :

Kod:

<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 :)


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#2  2014-02-12 15:28:56

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wykresy google wyznaczanie linii

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)


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#3  2014-02-13 16:23:47

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wykresy google wyznaczanie linii

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ę:

Kod:

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.


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#4  2014-02-14 00:25:58

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Wykresy google wyznaczanie linii

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

 

#5  2014-02-14 08:18:44

  debbie - Użytkownik

debbie
Użytkownik
Zarejestrowany: 2006-09-19

Re: Wykresy google wyznaczanie linii

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:

Kod:

$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. )


debbie
[color=blue]Wrócę jak zjem zupę i drugie danie - tyle[/color]
[color=blue]a oto ta zupa:[/color]

Offline

 

#6  2014-02-14 18:15:26

  kamikaze - Administrator

kamikaze
Administrator
Zarejestrowany: 2004-04-16

Re: Wykresy google wyznaczanie linii

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

 

Stopka forum

Powered by PunBB
© Copyright 2002–2005 Rickard Andersson
Możesz wyłączyć AdBlock — tu nie ma reklam ;-)

[ Generated in 0.019 seconds, 9 queries executed ]

Informacje debugowania

Time (s) Query
0.00016 SET CHARSET latin2
0.00018 SET NAMES latin2
0.00642 SELECT u.*, g.*, o.logged FROM punbb_users AS u INNER JOIN punbb_groups AS g ON u.group_id=g.g_id LEFT JOIN punbb_online AS o ON o.ident='3.145.59.165' WHERE u.id=1
0.00199 UPDATE punbb_online SET logged=1716054703 WHERE ident='3.145.59.165'
0.00079 SELECT * FROM punbb_online WHERE logged<1716054403
0.00151 SELECT t.subject, t.closed, t.num_replies, t.sticky, f.id AS forum_id, f.forum_name, f.moderators, fp.post_replies, 0 FROM punbb_topics AS t INNER JOIN punbb_forums AS f ON f.id=t.forum_id LEFT JOIN punbb_forum_perms AS fp ON (fp.forum_id=f.id AND fp.group_id=3) WHERE (fp.read_forum IS NULL OR fp.read_forum=1) AND t.id=25222 AND t.moved_to IS NULL
0.00009 SELECT search_for, replace_with FROM punbb_censoring
0.00379 SELECT u.email, u.title, u.url, u.location, u.use_avatar, u.signature, u.email_setting, u.num_posts, u.registered, u.admin_note, p.id, p.poster AS username, p.poster_id, p.poster_ip, p.poster_email, p.message, p.hide_smilies, p.posted, p.edited, p.edited_by, g.g_id, g.g_user_title, o.user_id AS is_online FROM punbb_posts AS p INNER JOIN punbb_users AS u ON u.id=p.poster_id INNER JOIN punbb_groups AS g ON g.g_id=u.group_id LEFT JOIN punbb_online AS o ON (o.user_id=u.id AND o.user_id!=1 AND o.idle=0) WHERE p.topic_id=25222 ORDER BY p.id LIMIT 0,25
0.00134 UPDATE punbb_topics SET num_views=num_views+1 WHERE id=25222
Total query time: 0.01627 s