我正在尝试用react和gatsbyjs制作一个甜甜圈图。该图工作正常,但我不能让它使用div的全宽。它显示的区域太小,无法保留。
render (){
return (
<Doughnut
data={this.state.chartData}
options={{
padding:"0px",
responsive:false,
maintainAspectRatio:false,
defaultFontSize:"14px",
width:"400",
height:"400",
legend:{
display:false,
},
plugins:{
datalabels: {
color:'#000000',
anchor: "start",
align:"end",
formatter: function(value, context) {
return context.chart.data.labels[context.dataIndex];
}
}
}
}}
/>
)
}
3条答案
按热度按时间b1payxdu1#
请查看chartjs docs中的 * 响应 *。
在选项中,设置
responsive: true, maintainAspectRatio: true
并删除width
和height
。下面是一个工作正常的StackBlitz
dojqjjoe2#
7ivaypg93#
这个答案与上面两个答案相同,只是渲染中有一个额外的div,见下文
由于我们将maintainAspectRatio设置为true,因此我们无法将高度和宽度设置为图形本身,而是可以将高度和宽度设置为其父div,这样我们就可以轻松地修改尺寸。
快乐编码...