我用 chart.js 创建了一个简单的响应式 HTML + JS 图表,效果很好。我决定在 Vue CLI 中执行此操作,因此尝试将其切换到 vue-chartjs,但相同的图表总是呈现比我的窗口高 33% 左右,因此呈现垂直滚动条(宽度很好)。我用我渲染的一个简单的示例图重新创建了这个问题:
import {Line} from 'vue-chartjs'
export default {
extends: Line,
mounted () {
this.renderChart(data, options)
}
}
请注意 the data
is trivial 和 the options
are {}
。
如果我在我的 Vue 组件中使用 chart.js,而不是 vue-chartjs,那么它可以正常工作。即,我只是从我的组件中删除上面的代码并将其更改为以下代码,然后它就可以正常呈现,就像我的示例 HTML + chart.js 版本一样。
import Chart from 'chart.js'
function mount(el) {
return new Chart(
document.getElementById(el).getContext('2d'), {
type: 'line',
data: data,
options: options,
})
}
export default {
template: '<canvas id="chart"></canvas>',
mounted () {
self.chart = mount('chart')
}
}
我当然使用默认值,responsive: true
并且maintainAspectRatio: false
在任何地方都没有明确的 CSS 或大小设置。
为什么我在使用 vue-chartjs 时无法让图表正确渲染高度?我正在使用 vue-chartjs 3.4.2 版,但也尝试了几个版本。我查看了整个 github 错误跟踪器,但没有看到任何相关内容。