如何使用ng2-charts设置图表的高度?我正在制作折线图,就像 ng2-charts 网站上的演示一样。
我搜索了 ng2-charts 和chart.js的文档。在 chart.js 中,您似乎在 canvas 元素上设置了一个 height 属性,例如<canvas height="400">
,但是该元素被 ng2-charts 组件遮盖了。
如何使用ng2-charts设置图表的高度?我正在制作折线图,就像 ng2-charts 网站上的演示一样。
我搜索了 ng2-charts 和chart.js的文档。在 chart.js 中,您似乎在 canvas 元素上设置了一个 height 属性,例如<canvas height="400">
,但是该元素被 ng2-charts 组件遮盖了。
弄清楚了。
如果设置了responsive: true
和maintainAspectRatio: false
设置,则可以设置<base-chart>
元素的 css 高度属性。
只需设置 baseChart 的高度属性。
<canvas baseChart height="300" ...></canvas>
只需在basechart之后设置高度和宽度
<canvas baseChart
height="40vh" width="80vw"
[data]="doughnutChart.data"
[labels]="doughnutChart.label"
[chartType]="doughnutChartType"
(chartHover)="chartHovered($event)"
(chartClick)="chartClicked($event)">
</canvas>
在 ts 文件中,将 chartOptions 声明为 ::
chartOptions = {
responsive: true,
maintainAspectRatio: false,
}
同样,在 html 文件属性中绑定 [options]="chartOptions" 并在 div 标签中设置所需的高度、宽度
<div style="display: block; width: 500px; height: 400px;">
<canvas
baseChart
[chartType]="'line'"
[datasets]="chartData"
[labels]="chartLabels"
[colors]="lineChartColors"
[options]="chartOptions"
[legend]="true"
(chartClick)="onChartClick($event)">
</canvas>
</div>
这将起作用。
要提供高度或宽度,您需要在<div><div/>
元素周围使用包装器元素<canvas><canvas/>
,然后应使用相对位置样式以及参考视口大小(浏览器窗口大小)的高度和宽度来装饰 div 元素。
如下所示:
<div class="chart-container" style="position: relative; height:50vh; width:50vw">
<canvas baseChart
-----chart property binding here------
</canvas>
</div>
将图表选项设置为响应式
chartOptions: ChartOptions = {
responsive: true,
maintainAspectRatio: false,
};
可以在 CSS 中设置视图宽度
.myclass {
width: 100vw;
}
环境
<canvas style="width: inherit;height: inherit;"
将根据图表的父容器大小进行调整