Can't find the information you are looking for here? Then leave a message over on our WinBatch Tech Support Forum.
Keywords: Google Chart API UDF chart.apis.google.com
Global_GoogleChartURLBase="http://chart.apis.google.com/" ;Data tab Separated values ;Labels tab Separated values ;UseDataInLabel Appends (data) at the end of each label ;Legend tab Separated values, use "" to specify no legend ;Size eg 250x100 ;Title Title Of Chart ;ReturnHtml = Use 1 to return the URL wrapped in html tags #DefineFunction MakePieChart(Data,Labels,UseDataInLabel,Legend,Size,Title,ReturnHtml,Global_GoogleChartURLBase) If UseDataInLabel == 1 NewLabels="" For x = 1 To ItemCount(Labels,@TAB) OneLabel=ItemExtract(x,Labels,@TAB) OneData=ItemExtract(x,Data,@TAB) NewLabels=ItemInsert(OneLabel : " (" : OneData : ")",-1,NewLabels,@TAB) Next Labels=NewLabels EndIf Data=StrReplace(Data,@TAB,",") Labels=StrReplace(Labels,@TAB,"|") Title=StrReplace(Title," ","+") If Legend != "" Legend=StrReplace(Legend,@TAB,"|") Legend= "&chdl=" : Legend EndIf url=Global_GoogleChartURLBase : "chart?cht=p3" : "&chd=t:" : Data : "&chs=" : Size : "&chl=" : Labels : "&chtt=" : Title : Legend If ReturnHtml == 1 Then url= "<img src='" : url : "' alt='" : Title : "' />" Return url #EndFunction ;NumData tab Separated Number values, use "" to display none ;DateData tab Separated values. This is for the access across the bottom. It does not really have to be dates. ;Size eg 250x100 ;Title Title Of Chart ;TLData Highest Data point. Use a number or you can use Auto. Auto will set it to the highest Data point in your dataset. ;ShowMovementList Displays a number label above each date , use 1 to display ;LeftLabel tab Separated values. The is the vertical access on the left of the chart. You can specify your own numbers or use Auto|Increment. Example Auto|50 will put increments of 50 to accommodate your highest data point. ;ReturnHtml = Use 1 to return the url wrapped in html tags #DefineFunction MakeLineChart(NumData,DateData,Size,Title,TLData,LeftLabel,ShowMovementList,ReturnHtml,Global_GoogleChartURLBase) TLDataSetting=0 If TLData == "Auto" a=StrReplace(NumData,@TAB,",") TLData = Max(%a%);retarded use of percent sign... TLDataSetting=1 EndIf If StrSub(LeftLabel,1,4) == "Auto" ;Message("","Yes") IncBy=ItemExtract(2,LeftLabel,"|") NumOfLabels = TLData / IncBy LeftLabel="0" Item="0" For i = 1 To NumOfLabels item=Item+IncBy LeftLabel=ItemInsert( item,-1,LeftLabel,@TAB) Next If Item < TLData If TLDataSetting == 1 TopLabel=Item+IncBy LeftLabel=ItemInsert(TopLabel,-1,LeftLabel,@TAB) TLData=TopLabel Else LeftLabel=ItemInsert(TLData,-1,LeftLabel,@TAB) EndIf EndIf EndIf NumData=StrReplace(NumData,@TAB,",") DateData=StrReplace(DateData,@TAB,"|") LeftLabel=StrReplace(LeftLabel,@TAB,"|") Title=StrReplace(Title," ","+") NumDataCount=ItemCount(NumData,",") MovementList="" For x = 1 To NumDataCount OneNum=ItemExtract(x,NumData,",") If MovementList == "" If ShowMovementList == 1 Then MovementList = "t0,000000,0," : x-1 : ",12,1" Else MovementList = "t" : OneNum : ",000000,0," : x-1 : ",12,1" Else LastNum=ItemExtract(x -1,NumData,",") If OneNum < LastNum OneMoveNumber = LastNum - OneNum MoveSym="-" EndIf If OneNum > LastNum OneMoveNumber = OneNum - LastNum MoveSym="+" EndIf If OneNum == LastNum OneMoveNumber = "0" MoveSym="" EndIf If ShowMovementList == 1 Then LabList="t" : MoveSym : OneMoveNumber : "," Else LabList="t" : OneNum : "," MovementList = MovementList : "|" : LabList : "000000,0," : x-1 : ",12,1" EndIf Next url=Global_GoogleChartURLBase : "chart?cht=lc" : "&chd=t:" : NumData : "&chs=" : Size : "&chtt=" : Title : "&chxt=x,y&chxl=1:|" : leftLabel :"|0:|" : DateData : "&chds=0," : TLData : "&chg=10&chm=o,0066FF,0,-1.0,4" : "|" : MovementList If ReturnHtml == 1 Then url= "<img src='" : url : "' alt='" : Title : "' />" Return url #EndFunction t=@TAB ;Test Pie Chart Data="10" : t : "50" : t : "123" Labels="Pigs" : t : "Cows" : t : "Sheep" UseDataInLabel=1 Legend="Pigs" : t : "Cows" : t : "Sheep" Size="350x100" Title="My Barn Yard" ReturnHtml=0 test1=MakePieChart(Data,Labels,UseDataInLabel,Legend,Size,Title,ReturnHtml,Global_GoogleChartURLBase) ShellExecute(test1,"", "", @NORMAL, "") ;Test Line Chart NumData="17" : t : "25" : t : "57" : t : "67" : t : "51" : t : "78" : t : "109" : t : "103" : t : "105" : t : "105" DateData="1/3" : t : "1/7" : t : "1/17" : t : "1/23" : t : "2/3" : t : "2/15" : t : "2/23" : t : "2/25" : t : "2/26" : t : "2/28" Size="500x200" Title="Dolly's growth" ;TLData="131" TLData="Auto" LeftLabel="Auto|20" ShowMovementList=1 ReturnHtml=0 test2=MakeLineChart(NumData,DateData,Size,Title,TLData,LeftLabel,ShowMovementList,ReturnHtml,Global_GoogleChartURLBase) ShellExecute(test2,"", "", @NORMAL, "")
Article ID: W18411
Filename: Google Chart UDFs.txt
File Created: 2011:08:25:14:25:50
Last Updated: 2011:08:25:14:25:50