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 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