我必须用ChartJS编写一个图表,但我不知道如何更改工具提示backgroundColor。我看了很多YouTube视频,但没有一个对我的代码起作用。我是JavaScript的新手,所以我可能忘记了一些东西。有人能看看我的代码吗?我真的很感激!<3
jsfiddle中的代码:https://jsfiddle.net/rp2tmby4/5/#&togetherjs=0I7aHarRFz
document.addEventListener('DOMContentLoaded', function() {
Chart.defaults.backgroundColor = false;
Chart.defaults.borderColor = '#36A2EB';
Chart.defaults.color = '#ffffff';
// Daten für das Diagramm
const chartData = {
2010: [107, 90, 200],
2011: [120, 100, 220],
2012: [130, 110, 240],
2013: [140, 120, 260],
2014: [107, 130, 200],
2015: [190, 150, 220],
2016: [230, 190, 240],
2017: [250, 220, 260],
2018: [260, 240, 200],
2019: [280, 290, 220],
2020: [285, 340, 240],
2021: [310, 420, 260],
// ...
// Hier kannst du die Daten für jedes Jahr hinzufügen
// Beispiel: 2014: [150, 700, 280]
};
const labels = ['Red', 'Orange', 'Yellow']
const data = {
datasets: [{
label: 'Stromverbrauch in TWh',
data: [107, 500, 200],
backgroundColor: [
'rgba(192, 151, 105, 0.9)',
'rgba(162, 109, 47, 0.9)',
'rgba(243, 198, 69, 0.9)',
'rgba(255, 155, 0, 0.9)',
],
borderColor: 'rgb(120,162,211)', // Weiße Rahmenfarbe
//borderWidth: 0.6,
}],
labels: labels,
};
// Optionen für das Diagramm
const options = {
animation: {
animateRotate: true,
animateScale: true,
},
legend: {
position: 'top',
labels: {
fontColor: '#78a2d3',
},
},
scales: {
reverse: false,
r: {
ticks: {
beginAtZero: true,
z: 3, // Z-Index für die Skalen (höherer Wert bringt sie weiter nach vorne)
color: '#ffffff', // Farbe der Skalennummern
backdropColor: 'transparent' // Hintergrundfarbe der Skalennummern entfernen
}
}
}
};
// Erstellung des Diagramms
const ctx = document.getElementById('polarAreaChart').getContext('2d');
const polarAreaChart = new Chart(ctx, {
type: 'polarArea',
data: data,
options: options,
});
// Schieberegler für Jahreszahlen
const yearSlider = document.getElementById('yearRange');
const yearLabel = document.getElementById('year-label');
yearSlider.addEventListener('input', function() {
const selectedYear = yearSlider.value;
yearLabel.textContent = selectedYear;
polarAreaChart.data.datasets[0].data = chartData[selectedYear];
polarAreaChart.update();
});
// Initialisiere das Jahr-Label mit dem Startwert
yearLabel.textContent = yearSlider.value;
const config = {
type: 'polarAreaChart',
data: {
color: 'rgb(0,231,231)',
},
options: {
plugins: {
tooltip: {
backgroundColor: 'green',
}
}
}
};
const myChart = new Chart(document.getElementById('myChart'), config);
});
也尝试了这个和其他许多事情:
custom: function(tooltip) {
if (!tooltip) return;
// Hintergrundfarbe des Tooltips auf Grün setzen
tooltip.backgroundColor = 'green';
}
1条答案
按热度按时间nhaq1z211#
工具提示部分中的backgroundColor正在工作。它不为您工作的原因是因为您试图创建一个新的图表,但画布不存在。如果您将其添加到现有图表的配置中,它会显示良好。
https://jsfiddle.net/qzge7hdw/1/
另外,你的传奇配置是在错误的地方与错误的名称,纠正了这一点,也为你