google_line_chart

NAME

google_line_chart(): Generate a Google Image multi-line chart URL based on an arbitrary query.

TYPE

Procedure

DESCRIPTION

Given an arbitrary query, generate a Google Image Chart URL to visualize query's data.

To make for a compact URL (less than 2048 characters), data values are presented with low resolution format, which allows at most 63 distinct values on the vertical scale. This makes for non-smooth lines in some cases (See EXAMPLES below).

Even as this procedure was created (2013), Google Image Charts are deprecated, yet the service is still running and functional. The service may go down at any stage.

SYNOPSIS

google_line_chart(
	IN values_query TEXT, 
	IN chart_legend TEXT
  )
  READS SQL DATA

Input:

  • values_query: a query producing data to be visualized. Query columns are assumed as follows:
    • First column makes for "x" values. google_line_chart() will sort the results by first column ascending. The type of this column is arbitrary; it could be numerical, temporal etc.
    • 2nd [, 3rd [...]] columns are "y" values. You may provide up to 8 data columns, totaling 9 columns together with the first "x" values column.
  • chart_legend: comma delimited text, listing the desired legend items. There should be the same number of tokens in this parameter as there are data columns in the query. However, google_line_chart() will work with less that number or more; the result of a nonmatching number is a nonmatching legend.

EXAMPLES

Show a simple sine & log computation:

mysql> call google_line_chart("select n, log(n), sin(n/5)+2 from numbers where n > 0 order by n limit 80", "log n, 2 + sin n/5") \G
*************************** 1. row ***************************
google_chart_url: http://chart.apis.google.com/chart?cht=lc&chs=800x350&chtt=SQL+chart+by+common_schema&chxt=x,y&chxr=1,0.0,4.4&chd=s:AKPTWZbdfghjklmnnopqqrssttuuvvwwxxxyyzzz0001112222333444455555666677777888888999,fhkmopqqponljhebYWTRQPOOOQRTVYbdgjlnopqqpomkifcZXUSQPOOOPQSUXacfikmopqqponljgdbY&chxs=0,505050,10,0,lt&chxl=0:|1|||||||||||||||||||20||||||||||||||||||||40||||||||||||||||||||60||||||||||||||||||||80&chg=1.265822784,25,1,2,0,0&chco=ff8c00,4682b4&chdl=log n|2 + sin n/5&chdlp=b
The above leads to this image: SQL chart by common_schema

ENVIRONMENT

MySQL 5.1 or newer

SEE ALSO

line_chart()

AUTHOR

Shlomi Noach
 
common_schema documentation