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

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

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

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

Q&A

解決済

1回答

1266閲覧

Chart.jsで二次元座標から折れ線グラフを生成したい

IC445

総合スコア24

JavaScript

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

0グッド

0クリップ

投稿2019/01/01 08:36

編集2019/01/01 08:49

Chart.jsの折れ線グラフを使っています。
目的としては、コード中のx_arrayとy_arrayからなる折れ線グラフを作成したいと考えております。
i=0~9で、[x_array[i],y_array[i]]からなる二次元座標を結ぶ折れ線グラフの作成です。
var x_array = [1,2,3,10,17,20,21,23,25,50]
var y_array = [153,167,125,145,151,123,144,156,167,183]
ここで、x_arrayには昇順でソート済みですが、飛び飛びの値が入っています。
下記のコードでグラフを作成すると、xの要素同士の間隔を考慮せずに、等間隔に配置されてしまいます。
下記の例の最後では、(x,y)=(24,156),(25,167),(50,183)を結びたいのに、
「(24,156),(25,167)」の2点と、「(25,167),(50,183)」の2点でx軸の変化が同じなので、
実質、y_arrayに関する折れ線グラフを生成しているだけになってしまっています。
xの値を踏まえて、折れ線グラフを作成できればと考えております。

x_arrayの値を、x軸の値をラベル名としての採用ではなく、実際の値として採用して、
折れ線グラフを作成するには、どうすればよいでしょうか。
よろしくお願いいたします。

<canvas id="myChart2"></canvas> <script> var x_array = [1,2,3,10,17,20,21,24,25,50] var y_array = [153,167,125,145,151,123,144,156,167,183] var ctx = document.getElementById("myChart2"); var data = { labels: x_array, // データ軸名→x軸ではない datasets: [ { label: "Sleep", fill: false, lineTension: 0.1, backgroundColor: "rgba(75,192,192,0.4)", borderColor: "rgb(5,141,199)", borderCapStyle: 'butt', borderDash: [], borderDashOffset: 0.0, borderJoinStyle: 'miter', pointBorderColor: "rgb(5,141,199)", pointBackgroundColor: "#fff", pointBorderWidth: 1, pointHoverRadius: 5, pointHoverBackgroundColor: "rgba(75,192,192,1)", pointHoverBorderColor: "rgba(220,220,220,1)", pointHoverBorderWidth: 2, pointRadius: 1, pointHitRadius: 10, data: y_array, // データ spanGaps: false, } ] }; var myChart = new Chart(ctx, { type: 'line', data: data }); </script>

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

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

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

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

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

guest

回答1

0

ベストアンサー

chartjs.org

参考リンクです
サンプルはあるので実装は出来ると思います
追記
線を描画するサンプル:
stackoverflow

投稿2019/01/01 08:56

編集2019/01/02 02:34
bochan2

総合スコア2050

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

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

IC445

2019/01/02 01:20

折れ線グラフ(type: 'line')で構成したいのですが、ひょっとして折れ線グラフだと一軸しか扱えませんか? Scatterで作成後、線を引いて折れ線にする形でしょうか?
IC445

2019/01/02 02:28 編集

データ形式を整えて、type:scatterに設定することで、二次元上の表示はできました。 { "x": 1, "y": 10 },{ "x": 3, "y": 15 } ただ、点と点の間に線を表示させている部分が特定できず、 教えていただけましたら幸いです。
IC445

2019/01/02 02:46

データセットに「showLine: true」を追記することで、折れ線グラフになりました。 ありがとうございました。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問