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

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

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

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

Q&A

解決済

1回答

43798閲覧

Chart.jsでグラフサイズを指定する方法

IC445

総合スコア24

JavaScript

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

2グッド

3クリップ

投稿2018/12/30 07:04

編集2018/12/30 07:10

Chart.jsを利用してグラフ描画ページの構成を行っております。
グラフが画面いっぱいに描画されてしまうため、
画像サイズを小さく調整したいのですが、下記のheightとwidthの値を変更しても、
画面いっぱいに拡大されてしまいます。
<canvas id="myChart2" style="position: relative; height:100vh; width:150vw"></canvas>

グラフのサイズを小さく指定するには、どうすれば良いでしょうか。
グラフを小さく設定して、他にボタンを並べる予定です。

よろしくお願いいたします。

<!DOCTYPE html> <html> <head> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title></title> <meta charset="utf-8"> <meta name="description" content=""> <meta name="author" content=""> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href=""> <!--[if lt IE 9]> <script src="//cdn.jsdelivr.net/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <link rel="shortcut icon" href=""> <head> <title></title> <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/2.7.3/Chart.min.js"></script> </head> <canvas id="hogehoge" style="position: relative; height:100vh; width:150vw"></canvas> <script> var ctx = document.getElementById("hogehoge"); var data = { labels: [1,2,3], datasets: [ { label: "", 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: [163,160,161], spanGaps: false, } ] }; var myChart = new Chart(ctx, { type: 'line', data: data }); </script> </body> </html>
motivationhack, _adamay👍を押しています

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

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

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

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

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

guest

回答1

0

ベストアンサー

HTML

1 2<canvas id="myChart2" style="position: relative; height:100; width:150"></canvas>

にしたら設定出来ると思います。

chartjs.org

When it comes to change the chart size based on the window size, a major limitation is that the canvas render size (canvas.width and .height) can not be expressed with relative values, contrary to the display size

と書いてあるので相対サイズを使うのであればjavascriptを組んで

javascript

1 2var c=document.getElementById("myChart2"); 3c.width=window.innerWidth*0.1; 4c.height=window.innerHeight*0.1; 5

みたいな感じで設定すれば良いと思います(innerWidthが適切かどうかは分かりません)

投稿2018/12/30 08:52

編集2018/12/30 08:53
bochan2

総合スコア2050

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

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

IC445

2018/12/30 08:59

下記のように修正いたしましたが、変わりませんでした。 グラフのサイズ自体を小さく設定したいと考えております。 <canvas id="myChart2" style="position: relative; height:100; width:150"></canvas> <script> var ctx = document.getElementById("myChart2"); ctx.width=window.innerWidth*0.1; ctx.height=window.innerHeight*0.1;
IC445

2018/12/31 01:36 編集

divで設定してグラフ描画部を囲むことでサイズ調整ができました。 ありがとうございます。 <div style="position:absolute; top:60px; left:10px; width:500px; height:500px;"> hogehoge </div>
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問