ドキュメントに記載されているChart.jsのサンプルコードを試しています。
幅と高さは、キャンバス要素で400px / 400pxでインラインで指定されます。
ただし、グラフをレンダリングすると、ページ幅全体に拡大され、右端が切り取られます。
チャートの幅/高さをどのように/どこで制御する必要がありますか?
This is some bogus text because SO prohibits linking to Codepen otherwise.
ドキュメントに記載されているChart.jsのサンプルコードを試しています。
幅と高さは、キャンバス要素で400px / 400pxでインラインで指定されます。
ただし、グラフをレンダリングすると、ページ幅全体に拡大され、右端が切り取られます。
チャートの幅/高さをどのように/どこで制御する必要がありますか?
This is some bogus text because SO prohibits linking to Codepen otherwise.
回答:
キャンバススタイルの幅を上書きできます!重要...
canvas{
width:1000px !important;
height:600px !important;
}
また
responsive:true,
オプションでプロパティを指定します。
options: {
responsive: true,
maintainAspectRatio: false,
scales: {
yAxes: [{
ticks: {
beginAtZero:true
}
}]
}
}
追加されたオプションの下で更新: maintainAspectRatio: false,
maintainAspectRatio
本当に私を助けてくれます。
チャートをコンテナで囲むこともできます(公式ドキュメントhttp://www.chartjs.org/docs/latest/general/responsive.html#important-noteによる)
<div class="chart-container">
<canvas id="myCanvas"></canvas>
</div>
CSS
.chart-container {
width: 1000px;
height:600px
}
とオプション付き
responsive:true
maintainAspectRatio: false
!important
アンギュラプロジェクトに
私の場合、responsive: false
オプションの下を渡すことで問題が解決しました。特にtrueがデフォルトであるため、なぜ誰もが反対のことをするように言っているのかわかりません。
responsive: true
すると、チャートの外観が完全に歪んでしまいました。
!important
私の角度のプロジェクトで
私にも効く
responsive:true
maintainAspectRatio: false
<div class="row">
<div class="col-xs-12">
<canvas id="mycanvas" width="500" height="300"></canvas>
</div>
</div>
ありがとうございました
aspectRatio
必要に応じて変更できます。
options:{
aspectRatio:4 //(width/height)
}
4
アスペクト比ではありません。あなたのコメントは言って(width/height)
いますが、それをどのように適用すべきかは明確ではありません。それをセットで渡す方法はありますか?または、文字通り、提案された幅を提案された高さで割って、たとえば3:4になるようにすることを意味し0.75
ますか?
maintainAspectRatio: false
。チャートが表示可能になりました。しかし、それでも右側を切り落としています。すでに独自の基本的なサンプルコードでこの種の問題にぶつかると、chart.jsが良い賭けであるかどうか疑問に思います。(右側はまだ切断されています...)