我在使用 chart.js 图例时遇到了一些问题。带有长文本的图例占用了太多空间,导致我的饼图尺寸减小:
另一个例子是这样的:
如果我得到更多图例,圆环图最终会变得越来越小。
我试图设置 maxWidth 但无济于事。
var options = {
layout: {
padding: {
top: 5
}
},
responsive: true,
maintainAspectRatio: false,
legend: {
display: true,
position: 'right',
maxWidth: 100,
onClick: null
},
animation: {
animateScale: true,
animateRotate: true
},
};
有任何想法吗?
我试着按照这个 [solution][3] 创建一个 html 图例:
<div class="box-body" style="height:350px;">
<div class="float-left">
<div class="float-left" style="width:70%">
<canvas id="brandChart" style="position: relative; height: 350px;"></canvas>
</div>
<div class="float-left" style="width:30%">
<div id="js-legend" class="chart-legend">
</div>
</div>
</div>
它确实限制了图例的宽度,但这导致了另一个问题,即在我折叠并展开 div 之后,画布就不见了,我只剩下图例 div。
原文由 QWERTY 发布,翻译遵循 CC BY-SA 4.0 许可协议
首先,使用它的 原生 属性设置画布的 宽度 和高度(不要 使用---
style
),如下所示:注意: 宽度应该是高度的两倍
然后,在您的图表选项中将
responsive
属性设置为false
,如下所示:ᴅᴇᴍᴏ