我使用 Chartjs 和 vue-chart 在我的應用程序中顯示一些數據,實際上我想要實現的是擁有一個背景顏色從紅色到綠色的條形圖。該圖表具有動態最小值和最大值,但不能小于 0 且大于 5。類似于 5 星評級。為了顯示所顯示數據的差異,我沒有將圖表的最小值/最大值從 0 固定到 5。目前這是顯示我的圖表的代碼:選項:min 為最小值-0.2但不小于0;max比最大值+0.2但不大于5;return { legend: { display: false }, scales: { yAxes: [ { ticks: { beginAtZero: true, min, max, stepSize: 0.5 } } ] }}條形圖數據: return { labels: this.labels, datasets: [ { label: 'Evaluation', data: [ this.photo.composition, this.photo.technique, this.photo.creativity, this.photo.content, this.photo.lighting ], borderWidth: 1 } ] }渲染圖: const gradient = this.$refs.canvas .getContext('2d') .createLinearGradient(0, 300, 0, 0) gradient.addColorStop(0, '#FF5722') gradient.addColorStop(0.5, '#FFC107') gradient.addColorStop(1, '#8BC34A') this.data.datasets[0].backgroundColor = gradient this.renderChart(this.data, this.options)結果非常接近我正在尋找的結果:不幸的是,我希望看到的是 0 上的紅色和 5 上的綠色,因此如果最大值為 2.5(這里我期望橙色),則漸變不應達到綠色,對于較低的值也是如此......我希望它合理。有人能指出我正確的方向嗎?謝謝!
Chartjs 基于最小值和最大值的漸變背景顏色
湖上湖
2023-09-28 10:02:15