Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
  • ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:chart.js4系でグラフサイズ設定方法を詳しく)

chart.js4系でグラフサイズ設定方法を詳しく

このQ&Aのポイント
  • chart.js4系を使用して棒グラフのサイズ設定をしたいが、うまくいかない。
  • maintainAspectRatioオプションをfalseに設定してもスタイル設定が反映されない。
  • chart.js4系についての詳しいサイズ設定方法を教えてほしい。

質問者が選んだベストアンサー

  • ベストアンサー
  • retorofan
  • ベストアンサー率34% (440/1291)
回答No.1

chart.js4.2でカラー設定をする方法 >前のコードで描画すると棒グラフが上半分くらいに圧縮されたようにしか描画されなかった そやあ、そうでしょう!? オプションに maintainAspectRatio が書かれていなくても デフォルト値は maintainAspectRatio: true それが適用されたのですから アスペクト比は 2:1 で描画されています。 (つまり、高さが短く表示される) キャンバスのサイズが、  width: 400px;  height: 350px; このスタイルで、2:1の比率にしようとした時 縦を基準にしようとしたら 700:350 でないといけないけれど 横サイズがそんなにないために適用できない。 横を基準にしようとすれば、高さが350あるから 400:200は可能なので、こちらが適用された。 ここで重要なことは、 キャンバスのサイズに単位「px」を使っていても ピクセルではなくて、数値の比率で判断される、ということ。 >「スタイルによって明示的に定義されている場合は無視されます」ありますが1/2のままです。 スタイル設定してあっても、maintainAspectRatio が記述されていなければ、 maintainAspectRatio: true が適用されたことと同じです。それがデフォルトなんだから。 >そこでmaintainAspectRatio: falseを加えて初めてスタイル設定が有効になります。 falseは「固定アスペクト比を解除しなさい」ということ。 つまり「2:1ルールに従わなくてもいいよ」と指示したことになります。 その結果、スタイル設定が反映されて縦サイズが活かされて長く表示されたのです。 【適正なサイズの設定方法にするには】 ・固定アスペクト比を保持したければ 次を書くか、書かないこと。  maintainAspectRatio: true ・自分の思い通りの縦横サイズにしたければ スタイル記述と下記は必須  maintainAspectRatio: false chart.jsにおいては、図形描画に際して、 ・キャンバス要素の親要素のサイズが重要で、それによって表示領域が決まる ・キャンバスにサイズを書かなくても問題ない ということを付け加えておきます。

turu575
質問者

お礼

早速の回答ありがとうございます。 なるほど >スタイル設定してあっても、maintainAspectRatio が記述されていなければ、 >maintainAspectRatio: true >が適用されたことと同じです。それがデフォルトなんだから。 ですか、疑問については自信はありませんが納得しました。 ここでさらに理解できないことがありまして、2.9系で <canvas id="myChart2" width="550" height="450"> としていたが4系では、効かないと思っていましたが、 2.9系のコードを <script src部分だけ4.2.1に置き換えて <canvas id="myChart1" width="250" height="250"> と小さく設定し options: { responsive: false, としたところ棒グラフのサイズが小さく変化しました。 先程の回答を見る前にさらなる混乱を来しておりました。<canvas内での設定とresponsive: falseの関係をお教えください。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • retorofan
  • ベストアンサー率34% (440/1291)
回答No.2

一件落着したら 別質問で上げてくださるようお願いいたします。 そうでないと、果てしなく続くことになってしまいますので。 よろしくお願い申し上げます。

すると、全ての回答が全文表示されます。

関連するQ&A