前提・実現したいこと
バックエンドでGoogle chartsを動かす際、コマンドライン引数を反映させたい。
発生している問題
コマンドライン引数をグローバル変数に格納してnpmで使えるgoogle-charts-nodeに読み込ませたいがエラーが発生してしまう。
具体的にはグラフタイトルの'Population_of_Largest_U.S._Cities' をコマンドライン引数で渡し、nodeで受け取り、グローバル変数に格納して
google-charts-nodeに読ませたいが、グローバル変数が見つからない旨のエラーが発生してしまうが、どのように修正すればよいでしょうか?
動作環境
さくらVPS
LINUX
CentOS8
Node.js
nodebrew
npm
Javascript
google-charts-node ⇒ https://github.com/typpo/google-charts-node
該当のソースコード
CentOS8
1◆node実行指示 2node sample.js 'Population_of_Largest_U.S._Cities' 3 4◆エラー表示 5Page error: Error: ReferenceError: title_input is not defined 6 at drawChart (about:blank:22:14) 7 at drawChartFn (about:blank:37:11) 8 at about:blank:44:24
Javascript
1◆sample.js 2 3const GoogleChartsNode = require('/root/node_modules/google-charts-node'); 4const fs = require('fs'); 5 6var title_input =process.argv[2]; //コマンドライン引数を受け取り、グローバル変数に格納 7 8// Define your chart drawing function 9function drawChart() { 10 const data = google.visualization.arrayToDataTable([ 11 ['City', '2010 Population',], 12 ['New York City, NY', 8175000], 13 ['Los Angeles, CA', 3792000] 14 ]); 15 16 const options = { 17 title: title_input, //グローバル変数を適用させたい 18 chartArea: {width: '50%'}, 19 hAxis: { 20 title: 'Total Population', 21 minValue: 0 22 }, 23 vAxis: { 24 title: 'City' 25 } 26 }; 27 28 const chart = new google.visualization.BarChart(container); 29 chart.draw(data, options); 30} 31 32// Render the chart to image 33(async () => { 34 const image = await GoogleChartsNode.render(drawChart, { 35 width: 400, 36 height: 300 37 }); 38 fs.writeFileSync('/var/www/html/google-chart1.png', image); 39})();
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/08/15 15:41