質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

Q&A

解決済

2回答

1322閲覧

どうしてグラフにデータが表示されないのでしょうか?

ikenirubasyu

総合スコア54

JavaScript

JavaScriptは、プログラミング言語のひとつです。ネットスケープコミュニケーションズで開発されました。 開発当初はLiveScriptと呼ばれていましたが、業務提携していたサン・マイクロシステムズが開発したJavaが脚光を浴びていたことから、JavaScriptと改名されました。 動きのあるWebページを作ることを目的に開発されたもので、主要なWebブラウザのほとんどに搭載されています。

0グッド

0クリップ

投稿2015/11/27 03:35

編集2015/12/03 05:39

またこのプログラムではarr6の配列の中身は入ってしまってますが、からっぽにした状態で値をいれることも可能でしょうか?

<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title>サンプル</title>

pe = "text/javascript">

</html>

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

console.log()やconsole.dir()を使うと、変数の中身をブラウザのコンソールで確認できるので活用をお薦めします。

上げていただいたスクリプトを確認してみましたが、
hyouji()
の中で
console.dir( arr2 );
してみると、arr2の中身が空っぽです。
その結果、arr3にデータが追加されること無くグラフが描画されないのでしょう。

arr2のデータの元になる dataALL の中身も
console.dir( dataALL );
で確認してみましたが、1つしかデータが入っていなくて、 hyouji() の上にある
for(var i = 1; i < dataALL.length; i++){
arr2[i-1] = [ dataALL[i][0], dataALL[i][2] ];
}
が動くタイミングが悪いのかもしれません。

作りながらデータが途中まできちんと入っているか確認していくと良いでしょう。

投稿2015/11/27 04:28

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikenirubasyu

2015/11/27 04:40

osaponさん回答ありがとうございます。 [運動を終える]で出るアラートの値をarr2に格納したいのですが、どのように書けばよいでしょうか?
退会済みユーザー

退会済みユーザー

2015/11/27 05:30

普通に代入するのではダメなのですか? alertの上の行でpushとか使われているので、同じようにarr2に入れていくのでは?
guest

0

Googlechartをよく知らないのですがざっと見た限り、これがグラフを表示しているみたいですね。
00:00:00に強度0の棒を立ててるので表示は正常です。00を70とかに変えると伸びます。
でも多分本当にやりたいことはarr3に計算した値を入れて表示することだと思いますから、雑なやり方ではありますが、グローバル変数として、計算結果を含んだ2次元配列を用意しておきhyoujiするときにgoogle.visualization.arrayToDataTable()に渡すのはどうですか。

Javascript

1function hyouji() { 2 var arr3 = [ 3 [ '時間', '強度',], 4 ['00:00:00', 00,] 5 ]; 6 var chartdata = google.visualization.arrayToDataTable(arr3);

追記:
こういうことでしょうか。
arr2をグローバルからhyouji()の中に持ってきた
ただそのままだとエラー吐くから、ひとまず強度値として50入れといた

Javascript

1function hyouji() { 2 3 // arr2を外からこの中に 4 var arr2 = []; 5 6 for(var i = 0; i < dataALL.length; i++){ 7 // arr2[i] = [ dataALL[i][0], dataALL[i][2] ]; 8 arr2[i] = [ dataALL[i][2], 50 ]; 9 } 10 11 var arr3 = [ 12 [ '時間', '強度',], 13 ['00:00:00', 00,], 14 15 ]; 16 17 var chartdata = google.visualization.arrayToDataTable(arr3); 18 19 for( var i=0; i<arr2.length; i++ ){ 20 chartdata.addRow( arr2[i] ); 21 } 22 23 var options = { 24 height: 300, 25 width : 500, 26 bar : { groupWidth: "95%" }, 27 title : '運動強度', 28 hAxis : {title: '時間'}, 29 vAxis : {minValue:50,maxValue:100,gridlined:{count:6 }} 30 }; 31 32 var chart = new google.visualization.ColumnChart(document.getElementById('gct_sample_column')); 33 chart.draw(chartdata, options); 34}

投稿2015/11/27 04:09

編集2015/11/27 05:22
nage

総合スコア144

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ikenirubasyu

2015/11/27 04:13

nagaさん回答ありがとうございます。 やりたいことはおっしゃる通りなのですが、プログラミング初心者なので書き方がわからないのです,,,。
nage

2015/11/27 05:28

何か勘違いしていました。コード読んでみたら00の値は00のままで良かったのですね。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問