For the first issue, I said column 5, not the 5th column; use: series: {5: 
{type: "line"}} instead. 

As for the second, it seems to be a bug in the CandleStick charts.  This 
bug crops up when using a continuous axis where not all data points are 
adjacent; I'm not sure what the critical separation is to trigger the bug, 
but it definitely occurs when there is a spacing difference > 1 and < 10 
units between some of the data points.  See example here: 
http://jsfiddle.net/asgallant/A947d/ 

On Monday, July 9, 2012 4:43:23 PM UTC-4, kaar wrote:
>
> Please refer to the enclosed Data file for 2nd issue.
> step1) Just save the CSV file and the HTML/javascript of 2nd isse within 
> same folder
> step2) Just run HTML  to see each candlestick. not a like candlestick
> step3) and the update VAR PERIOD =22 for both chart1 and chart2, and run 
> it to see each candlestick
>
> For the 1st issue, actually, 5th column is  with  series: {4: {type: 
> "line"}  . Still I don't get the point.
>
>
> On Friday, July 6, 2012 6:11:27 PM UTC-5, kaar wrote:
>>
>> Hello, 
>>
>> (1) 1st issue of 2 
>> I just tried to create ComboChart with candlesticks and line by using 
>> data provided example below. 
>> But, it shows error : [Last serie does not have enough data columns 
>> (missing 3)] 
>>
>> <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http:// 
>> www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 
>> <html xmlns="http://www.w3.org/1999/xhtml";> 
>>   <head> 
>>     <meta http-equiv="content-type" content="text/html; charset=utf-8"/ 
>> > 
>>     <title> 
>>       Google Visualization API Sample 
>>     </title> 
>>     <script type="text/javascript" src="https://www.google.com/ 
>> jsapi"></script> 
>>     <script type="text/javascript"> 
>>       google.load('visualization', '1', {packages: ['corechart']}); 
>>     </script> 
>>     <script type="text/javascript"> 
>>       function drawVisualization() { 
>>         // Some raw data (not necessarily accurate) 
>>         var data = google.visualization.arrayToDataTable([ 
>>           ['Month', 'Bolivia', 'Ecuador', 'Madagascar', 'Rwanda', 
>> 'Average'], 
>>           ['2004/05',  165,      938,         522,       450, 
>> 614.6], 
>>           ['2005/06',  135,      1120,        599,       288, 
>> 682], 
>>           ['2006/07',  157,      1167,        587,       397, 
>> 623], 
>>           ['2007/08',  139,      1110,        615,       215, 
>> 609.4], 
>>           ['2008/09',  136,      691,         629,       366, 
>> 569.6] 
>>         ]); 
>>
>>         var options = { 
>>           title : 'Monthly Coffee Production by Country', 
>>           vAxis: {title: "Cups"}, 
>>           hAxis: {title: "Month"}, 
>>           seriesType: "candlesticks", 
>>           series: {4: {type: "line"}} 
>>         }; 
>>
>>         var chart = new 
>> google.visualization.ComboChart(document.getElementById('chart_div')); 
>>         chart.draw(data, options); 
>>       } 
>>       google.setOnLoadCallback(drawVisualization); 
>>     </script> 
>>   </head> 
>>   <body> 
>>     <div id="chart_div" style="width: 900px; height: 500px;"></div> 
>>   </body> 
>> </html> 
>>
>> (2) 2nd issue of 2 
>> When I draw candlesticks chart with data provided by CSV file.  By 
>> adding 22 rows, each candlestick looks good. 
>> but, Over by adding 22 rows, for example 100 rows, each candlestick is 
>> not a like candlestick. How to improve 
>>
>> <html xmlns="http://www.w3.org/1999/xhtml";> 
>>   <head> 
>>     <meta http-equiv="content-type" content="text/html; charset=utf-8"/ 
>> > 
>>     <title> 
>>       Google Visualization API Sample 
>>     </title> 
>>     <script type="text/javascript" src="https://www.google.com/ 
>> jsapi"></script> 
>>     <script type="text/javascript"> 
>>       google.load('visualization', '1', {packages: ['corechart']}); 
>>     </script> 
>>     <script type="text/javascript"> 
>>     var csvFile = "AAPL.csv"; 
>>     readCSV(csvFile) 
>>
>>     function readCSV(localFile) { 
>>         var allText = []; 
>>         var allLine = []; 
>>         var openFile = new XMLHttpRequest(); 
>>
>>         openFile.open("GET", localFile, false); 
>>         openFile.send(); 
>>
>>         allText = openFile.responseText; 
>>         allLine = allText.split(/\r\n|\n/); 
>>
>>         //Display each line 
>>         //for (i=0; i<allLine.length; i++) { 
>>         //for (i=0; i<2; i++) { 
>>         //    document.write(allLine[i] + "<br/>"); 
>>         //} 
>>
>>         var headRow = []; 
>>         headRow = allLine[0].split(','); 
>>         //Display each column of head row 
>>         //for (h=0; h<headRow.length; h++) { 
>>         //    document.write(h + ": " + headRow[h] + "<br/>"); 
>>         //} 
>>
>>         function stockPrice(date,open,high,low,close,volume,adjust) { 
>>             this.date = date; 
>>             this.open = open; 
>>             this.high = high; 
>>             this.low = low; 
>>             this.close = close; 
>>             this.volume = volume; 
>>             this.adjust = adjust; 
>>         } 
>>
>>         var stockPrices = []; 
>>         var tempRow = []; 
>>         var tempDay = []; 
>>         for (i=1; i<allLine.length; i++) { 
>>             tempRow = allLine[i].split(','); 
>>             tempDay = tempRow[0].split('-'); 
>>             //Month 0 = January 
>>             var dateForm = new 
>> Date(parseInt(tempDay[0]),parseInt(tempDay[1])-1,parseInt(tempDay[2])); 
>>             stockPrices[i-1] = new 
>> stockPrice(dateForm,parseFloat(tempRow[1]),parseFloat(tempRow[2]),parseFloat(tempRow[3]),parseFloat(tempRow[4]),parseFloat(tempRow[5]),parseFloat(tempRow[6]));
>>  
>>
>>             tempRow = []; 
>>             tempDay = []; 
>>         } 
>>
>>         //Display stockPrices Class 
>>         // for (j=0; j<5; j++) { 
>>         //    document.write(stockPrices[j].date + " : "); 
>>         //    document.write(stockPrices[j].volume); 
>>         //    document.write("<br/>"); 
>>         //} 
>>
>>         // 
>> Graph1///////////////////////////////////////////////////////////////////////////////////////////////////
>>  
>>
>>         function drawVisualization1() { 
>>
>>             var period = 100;  // verify 22 rows, it looks good 
>>
>>             var priceMax = stockPrices[0].high; 
>>             var priceMin = stockPrices[0].low; 
>>
>>             for (i=1; i<period; i++) { 
>>                 if (priceMax < stockPrices[i].high) {priceMax = 
>> stockPrices[i].high;} 
>>                 if (priceMin > stockPrices[i].low) {priceMin = 
>> stockPrices[i].low;} 
>>             } 
>>
>>             var haxisMax = (priceMax - priceMin) * 1.2; 
>>             var haxisMin = (priceMax - priceMin) * 0.8; 
>>
>>             var data = new google.visualization.DataTable(); 
>>             data.addColumn('date','Daily'); 
>>             data.addColumn('number','low'); 
>>             data.addColumn('number','open'); 
>>             data.addColumn('number','close'); 
>>             data.addColumn('number','high'); 
>>             data.addRows(period); 
>>
>>             for (i=0; i<period; i++) { 
>>                 data.setCell(i,0,stockPrices[i].date); 
>>                 data.setCell(i,1,stockPrices[i].low); 
>>                 data.setCell(i,2,stockPrices[i].open); 
>>                 data.setCell(i,3,stockPrices[i].close); 
>>                 data.setCell(i,4,stockPrices[i].high); 
>>             } 
>>
>>             var options = { 
>>                 legend:'none',  // title: 'Stock Price Chart', 
>>                 vAxis: {title: 'Price [dollars]', titleTextStyle: 
>> {color: 'blue'}}, 
>>                 hAxis: {maxValue: haxisMax, minValue: haxisMin}, 
>>                 chartArea:{left:50,top:20,width:"95%",height:"95%"} // 
>> no commna on the last option 
>>             }; 
>>
>>             var chart = new 
>> google.visualization.CandlestickChart(document.getElementById('Chart1')); 
>>             chart.draw(data, options); 
>>         } 
>>         google.setOnLoadCallback(drawVisualization1); 
>>
>>         // 
>> Graph2/////////////////////////////////////////////////////////////////////////////////////////////////
>>  
>>
>>         function drawVisualization2() { 
>>
>>             var period = 100;  // verify 22 rows, it looks good 
>>
>>             var data = new google.visualization.DataTable(); 
>>             data.addColumn('date','Daily'); 
>>             data.addColumn('number','volume'); 
>>             data.addRows(period); 
>>
>>             for (i=0; i<period; i++) { 
>>                 data.setCell(i,0,stockPrices[i].date); 
>>                 data.setCell(i,1,stockPrices[i].volume/1000000); 
>>             } 
>>
>>             var options = { 
>>                 legend:'none',  // title: 'Stock Price Chart', 
>>                 vAxis: {title: 'Volume', titleTextStyle: {color: 
>> 'blue'}}, 
>>                 hAxis: {minValue: 0}, 
>>                 chartArea:{left:50,top:20,width:"95%",height:"75%"} // 
>> no commna on the last option 
>>             }; 
>>
>>             var chart = new 
>> google.visualization.ColumnChart(document.getElementById('Chart2')); 
>>             chart.draw(data, options); 
>>         } 
>>         google.setOnLoadCallback(drawVisualization2); 
>>
>>     } 
>>     </script> 
>>   </head> 
>>   <body> 
>>     <div id="Chart1" style="width: 900px; height: 600px;"></div> 
>>     <div id="Chart2" style="width: 900px; height: 150px;"></div> 
>>   </body> 
>> </html> 
>>
>>

-- 
You received this message because you are subscribed to the Google Groups 
"Google Visualization API" group.
To view this discussion on the web visit 
https://groups.google.com/d/msg/google-visualization-api/-/sZnd8E0blRsJ.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to 
[email protected].
For more options, visit this group at 
http://groups.google.com/group/google-visualization-api?hl=en.

Reply via email to