我用chart.js制作的图表每次重绘时都会增长,我也不知道为什么。 我的图表图表代码为:
let tempChart = document.getElementById("tempChart").getContext('2d');
let pressureChart = document.getElementById("pressureChart").getContext('2d');
let O3Chart = document.getElementById("O3Chart").getContext('2d');
let PM1Chart = document.getElementById("PM1Chart").getContext('2d');
<canvas id="tempChart"></canvas>
<canvas id="pressureChart"></canvas>
<canvas id="O3Chart"></canvas>
<canvas id="PM1Chart"></canvas>
这是我每次要绘制或重绘图表时调用的代码:
function createChart(chartLabels, chartData, chart, label, backgroundcolor, beginAtZero, borderColor) {
let LineChart = new Chart(chart, {
type: 'line',
data: {
labels: chartLabels,
datasets: [{
label: label,
data: chartData,
backgroundColor: backgroundcolor,
pointRadius: 0,
borderColor: borderColor
}]
},
options: {
responsive: false,
scales: {
yAxes: [{
ticks: {
beginAtZero: beginAtZero
}
}
]
}
}
})
}
运行一次createChart之前,画布的CSS:
width: 45%;
padding: 20px 20px;
border-bottom: 1px solid #dedede;
运行createChart后的CSS:
display: block;
height: 341px;
width: 683px;
我已经用空数组和完整数组测试了我的标签和数据的代码,在这两种情况下,每次调用createChart函数时,图表都会增长。
答案 0 :(得分:0)
默认情况下,您正在使用的库(chart.js)似乎覆盖了这些CSS值。
一种选择是在createChart函数的末尾将这些值重新设置为正确的值。
例如:
tempChart.style.width = 45%;
其他选择是在样式表!important
中为其赋予较高的功能,但这取决于(chart.js)的行为方式。