views:

294

answers:

1

Hello,

I'm developing an application which draws some charts and I'm using Google Chart. After I have all the needed data I build the URL dinamically. The problem is that Google Chart doesn't always fix the maximum and minimum of the chart to the values I provide. I calculate Max and Min Values based on the data of the cart. I've set them to be always an integer to avoid any problem.

I'm going to set an example with numbers: (I write it in different lines with "comments (//)" so it can be read easily, though it is in the same line with any comment at all)

http://chart.apis.google.com/chart?
cht=bvs&                                        //chart type
chs=250x250&                                    //chart size
chd=t:10,0|4.48,0|15,-58.42|0,4.73|0,73.44&       //chart data
chco=4D89D9,C6D9FD,FF0000,00FF00,0000FF&        //chart colors
chds=-59,80&                                    //data scaling
chf=bg,s,edf5ff|c,s,f6e426&                     //chart fill color
chtt=my_title&                                  //chart title
chdl=A|B|C|D|E&                                 //chart legend
chdlp=r&                                        //legend position
chxt=x,y&                                       //chart axis
chxl=0:|Col_1|Col_2&                            //Axis labels
chxr=1,-59,80&                                  //Axis range
chbh=r,1,0&                                     //Bar thickness and spacing 
chg=0,12.5                                      //Grid Lines

with this configuration I'd get this chart. As you can see the zero line is over zero because data has not been scaled isn a good way.

alt text

but If I change the maximum and minumum of the chart to -60,80 I get it in a good way

It would be this code:

http://chart.apis.google.com/chart?
cht=bvs&                                        //chart type
chs=250x250&                                    //chart size
chd=t:10,0|4.48,0|15,-58.42|0,4.73|0,73.44&       //chart data
chco=4D89D9,C6D9FD,FF0000,00FF00,0000FF&        //chart colors
chds=-60,80&                                    //data scaling (CHANGE IN THIS LINE)
chf=bg,s,edf5ff|c,s,f6e426&                     //chart fill color
chtt=my_title&                                  //chart title
chdl=A|B|C|D|E&                                 //chart legend
chdlp=r&                                        //legend position
chxt=x,y&                                       //chart axis
chxl=0:|Col_1|Col_2&                            //Axis labels
chxr=1,-60,80&                                  //Axis range (CHANGE IN THIS LINE)
chbh=r,1,0&                                     //Bar thickness and spacing 
chg=0,12.5                                      //Grid Lines

And this chart which seems to be OK:

alt text

Can anyone tell me why Google Chart behaves in this way?

Thanks

A: 

I changed itsetI get the max and min values to a number which corresponds to the common divisions in a logarithmic scale. I mean:

  • if value is inside (0,10) I choose an integer value
  • if value is inside (10,100) I choose 10,20,30...1000
  • if value is inside (100,1000) I choose 100,200,300...10000 and so on.

With these values Google Chart seems to work.

Javi