Пример реализации Google API

Эта идея родилась незадолго до написания этой статьи. Есть у меня математический сайт, называется domath.ru. Так вот, суть моей идеи заключается в том, чтобы дать пользователям ресурса иметь возможность построить график какой-нибудь там математической кривой, не покидая пределов сайта, а тут Google Chart API. Кстати, немного о нем. Еще в 2007 году большой брат запустил проект Google Chart API. Благодаря данному сервису вы сможете построить графики данных. Вот некоторые из них:

  • Line chart – обычный линейный график:
  • Bar chart – столбчатый график:
  • Pie chart – секторная диаграмма:
  • Venn diagram – диаграмма Венна:
  • Scatter plot – точечная диаграмма:
  • Максимальный размер графика ограничен 300,000 пикселей, то есть, возможны различные вариации, например, можно построить график как 500x600, так и 600x500. Так, имея довольно богатый арсенал, звезды становятся чуть ближе).

    Следующая функция chart_html, написанная на PHP, выполняет всю работу, но прежде выведем важные параметры:

     // параметры видимой области графика по умолчанию
    if (!isset($go))
    {            $_x=-5;   $x=5;
                 $_y=-5;   $y=5;                
    }
     // размеры холста
                 $w = 280; $h = 280;

     Функция chart_html($f ,$w, $h, $a, $b, $c, $d, $colors, $bcolors, $alt) зависит от 10 параметров,  здесь  $f – функция; $w и $h – размеры холста; $a, $b, $c, $d – видимая область графика; $colors – цвет графика; $bcolors – цвет холста; $alt – текстовая надпись. Вот собственна и сама функция.

    function chart_html($f,$w,$h,$a,$b,$c,$d, $colors, $bcolors, $alt) 
    { $url = 'https://chart.googleapis.com/chart?cht=lc&
                        chs='.$w.'x'.$h.'&chd=t:1,1&
                        chds='.$a.','.$b.'&chco='.$colors.'&
                        chfd=0,x,'.$a.','.$b.',0.005,'.$f.'&
                        chxt=x,y&chof=png&chg=10,10&
                        chxr=0,'.$a.','.$b.'|1,'.$c.','.$d.'&chf=bg,s,'.$bcolors.'';
        
     return '<img src="'.$url.'" width="'.$width.'" height="'.$height.  '"   alt="'.$alt.'" />';

    }

    Как работает сервис на деле можно увидеть здесь http://domath.ru/graph/.