Javascriptの変数の中に変数を代入するには
Google chart というAPIがあります。これを利用して株価Chartを作ります。
https://google-developers.appspot.com/chart/interactive/docs/gallery/candlestickchart
末尾にGoogle Chartのソースを記載していますが このvar data内の
['Mon', 20, 28, 38, 45],
['Tue', 31, 38, 55, 66],
['Wed', 50, 55, 77, 80],
['Thu', 77, 77, 66, 50],
['Fri', 68, 66, 22, 15]
の部分を変更することによりローソクチャートが引けます。
一方、
<script type="text/javascript">
var chart;
chart = "<div id='chart'></div>";
document.write("" + chart + "");
</script>
と記載すると
['Mon', 20, 28, 38, 45],
['Tue', 31, 38, 55, 66],
['Wed', 50, 55, 77, 80],
['Thu', 77, 77, 66, 50],
['Fri', 68, 66, 22, 15]
のような株価変数が取得できるjavascriptを作成しました。
この2つを組み合わせると、株価チャートが引けることとなります。
************************
現在の苦境状況
************************
Google chart APIに、下記のように「document.write("" + chart + ""); または "" + chart + "";または + chart + ;」を代入してみたのですが、チャートは表示されません。
変数の中に変数を入れたことが原因と思いますが、どのようにすればいいかアドバイス願います。
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
var chart;
chart = "<div id='chart'></div>";
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
document.write("" + chart + "");
], true);
var options = {
legend:'none'
};
var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
************************
GoogleChart
************************
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = google.visualization.arrayToDataTable([
['Mon', 20, 28, 38, 45],
['Tue', 31, 38, 55, 66],
['Wed', 50, 55, 77, 80],
['Thu', 77, 77, 66, 50],
['Fri', 68, 66, 22, 15]
], true);
var options = {
legend:'none'
};
var chart = new google.visualization.CandlestickChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
お礼
回答ありがとうございます。 できました! 後でネットで調べてみたらどうもあちこちで報告されてる現象のようですね http://postal-search-apis-and-solutions.blogspot.com/2007/11/gmap2-optssize.html http://googlemaps.googlermania.com/modules/d3forum/index.php?post_id=61 http://d.hatena.ne.jp/nitoyon/20050917/p2 javascriptで「display='none'」ってやって最初のアクセス時に非表示にしてると発生する怪現象みたいです