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>
お礼
おっしゃるとおり、IE、FF、Safariいずれもちゃんと表示されました! nameは今後使わないことで覚えておくようにします。。 早々にありがとうございました!