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

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

新規登録して質問してみよう
ただいま回答率
85.50%
Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

Q&A

解決済

1回答

1866閲覧

form入力した値をもとにRadar chartを表示したい

Renkon

総合スコア26

Chart.js

Chart.jsは、多様なグラフを組み込めるJavaScriptのライブラリ。折れ線グラフや棒グラフ、円グラフ、レーダーチャートなどのグラフの種類が用意されています。HTML5のCanvasを用いて描画され、マークアップも分かりやすく、簡単に編集することが可能です。

HTML5

HTML5 (Hyper Text Markup Language、バージョン 5)は、マークアップ言語であるHTMLの第5版です。

HTML

HTMLとは、ウェブ上の文書を記述・作成するためのマークアップ言語のことです。文章の中に記述することで、文書の論理構造などを設定することができます。ハイパーリンクを設定できるハイパーテキストであり、画像・リスト・表などのデータファイルをリンクする情報に結びつけて情報を整理します。現在あるネットワーク上のほとんどのウェブページはHTMLで作成されています。

0グッド

0クリップ

投稿2020/05/11 09:21

編集2020/05/11 09:48

【やりたいこと】
formに入力された値をもとにRader chartを表示したいです。
chart.jsを使用する場合には、データをhtmlファイルに直接打ち込んでしまうようですが、これをwebブラウザからの入力で行いたいです。

【現状】
chart.jsでレーダーチャートを表示することはできました。

html

1<html lang="ja"> 2 3<head> 4 <meta charset="utf-8"> 5</head> 6<body> 7 <canvas id="myRaderChart"></canvas> 8 <!-- CDN --> 9 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script> 10 11 <script> 12 var ctx = document.getElementById("myRaderChart"); 13 var myRadarChart = new Chart(ctx, { 14 type: 'radar', 15 data: { 16 labels: ["HP", "こうげき", "ぼうぎょ", "とくこう", "とくぼう", "すばやさ"], 17 datasets: [{ 18 label: 'ピカチュウ', 19 data: [4, 0, 0, 252, 0, 252], 20 backgroundColor: 'RGBA(255,255,0, 0.5)', 21 borderColor: 'RGBA(165,42,42, 1)', 22 borderWidth: 1, 23 pointBackgroundColor: 'RGB(165,42,42)' 24 }] 25 }, 26 options: { 27 title: { 28 display: true, 29 text: '努力値' 30 }, 31 scale:{ 32 ticks:{ 33 suggestedMin: 0, 34 suggestedMax: 252, 35 stepSize: 50, 36 callback: function(value, index, values){ 37 return value 38 } 39 } 40 } 41 } 42 }); 43 </script> 44</body>

【できていないこと】
各値をformでwebブラウザから入力したのちに、radar chartを描画することができません。
radar chartの枠のみ表示されて、入力したデータが反映されていません。

html

1<html lang="ja"> 2 3<head> 4 <meta charset="utf-8"> 5</head> 6<body> 7 <form enctype="multipart/form-data"> 8 <tbody id="tableData"> 9 <tr> 10 <td> 11 HP 12 </td> 13 <td> 14 <input type="number" class="form-control" id="HP" placeholder=""> 15 </td> 16 </tr> 17 <tr> 18 <td> 19 こうげき 20 </td> 21 <td> 22 <input type="number" class="form-control" id="kougeki" placeholder=""> 23 </td> 24 </tr> 25 <tr> 26 <td> 27 ぼうぎょ 28 </td> 29 <td> 30 <input type="number" class="form-control" id="bougyo" placeholder=""> 31 </td> 32 </tr> 33 <tr> 34 <td> 35 とくこう 36 </td> 37 <td> 38 <input type="number" class="form-control" id="tokukou" placeholder=""> 39 </td> 40 </tr> 41 <tr> 42 <td> 43 とくぼう 44 </td> 45 <td> 46 <input type="number" class="form-control" id="tokubou" placeholder=""> 47 </td> 48 </tr> 49 <tr> 50 <td> 51 すばやさ 52 </td> 53 <td> 54 <input type="number" class="form-control" id="subayasa" placeholder=""> 55 </td> 56 </tr> 57 </tbody> 58 <input type="button" onclick="plotRadar()" value="完了"> 59 </form> 60 <canvas id="myRaderChart"></canvas> 61 <!-- CDN --> 62 <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.2/Chart.bundle.js"></script> 63 64 <script> 65 function plotRadar(){ 66 var HP = document.getElementById('HP'); 67 var kougeki = document.getElementById('kougeki'); 68 var bougyo = document.getElementById('bougyo'); 69 var tokukou = document.getElementById('tokukou'); 70 var tokubou = document.getElementById('tokubou'); 71 var subayasa = document.getElementById('subayasa'); 72 73 var ctx = document.getElementById("myRaderChart"); 74 75 var myRadarChart = new Chart(ctx, { 76 type: 'radar', 77 data: { 78 labels: ["HP", "こうげき", "ぼうぎょ", "とくこう", "とくぼう", "すばやさ"], 79 datasets: [{ 80 label: 'ピカチュウ', 81 data: [HP, kougeki, bougyo, tokukou, tokubou, subayasa], 82 backgroundColor: 'RGBA(255,255,0, 0.5)', 83 borderColor: 'RGBA(165,42,42, 1)', 84 borderWidth: 1, 85 pointBackgroundColor: 'RGB(165,42,42)' 86 }] 87 }, 88 options: { 89 title: { 90 display: true, 91 text: '努力値' 92 }, 93 scale:{ 94 ticks:{ 95 suggestedMin: 0, 96 suggestedMax: 252, 97 stepSize: 50, 98 callback: function(value, index, values){ 99 return value 100 } 101 } 102 } 103 } 104 }); 105 }; 106 </script> 107 108</body>

どうすればよろしいでしょうか?

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

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

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

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

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

kei344

2020/05/11 09:22

(質問文は編集できます)ご自身で試されたコードを質問文に追記し、「何」が「どのように」わからないのか、コードのどの部分で詰まっているのかなどを具体的に追記されたほうが回答が望めると思います。
Renkon

2020/05/11 09:46

修正いたしました。 どうぞよろしくお願いいたします。
guest

回答1

0

ベストアンサー

getElementById()で取得できるのはElement オブジェクトで値ではありません。

【Document.getElementById() - Web API | MDN】
https://developer.mozilla.org/ja/docs/Web/API/Document/getElementById

【JavaScriptで入力フォームの値を取得する方法】
https://lab.syncer.jp/Web/JavaScript/Snippet/28/

投稿2020/05/11 23:00

kei344

総合スコア69366

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

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

Renkon

2020/05/12 01:09

ありがとうございます! おかげさまで機能しました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問