如何更改BackgroundColor(Tooltips)ChartJs?

rnmwe5a2  于 2023-06-22  发布在  Chart.js
关注(0)|答案(1)|浏览(167)

我必须用ChartJS编写一个图表,但我不知道如何更改工具提示backgroundColor。我看了很多YouTube视频,但没有一个对我的代码起作用。我是JavaScript的新手,所以我可能忘记了一些东西。有人能看看我的代码吗?我真的很感激!<3
jsfiddle中的代码:https://jsfiddle.net/rp2tmby4/5/#&togetherjs=0I7aHarRFz

  1. document.addEventListener('DOMContentLoaded', function() {
  2. Chart.defaults.backgroundColor = false;
  3. Chart.defaults.borderColor = '#36A2EB';
  4. Chart.defaults.color = '#ffffff';
  5. // Daten für das Diagramm
  6. const chartData = {
  7. 2010: [107, 90, 200],
  8. 2011: [120, 100, 220],
  9. 2012: [130, 110, 240],
  10. 2013: [140, 120, 260],
  11. 2014: [107, 130, 200],
  12. 2015: [190, 150, 220],
  13. 2016: [230, 190, 240],
  14. 2017: [250, 220, 260],
  15. 2018: [260, 240, 200],
  16. 2019: [280, 290, 220],
  17. 2020: [285, 340, 240],
  18. 2021: [310, 420, 260],
  19. // ...
  20. // Hier kannst du die Daten für jedes Jahr hinzufügen
  21. // Beispiel: 2014: [150, 700, 280]
  22. };
  23. const labels = ['Red', 'Orange', 'Yellow']
  24. const data = {
  25. datasets: [{
  26. label: 'Stromverbrauch in TWh',
  27. data: [107, 500, 200],
  28. backgroundColor: [
  29. 'rgba(192, 151, 105, 0.9)',
  30. 'rgba(162, 109, 47, 0.9)',
  31. 'rgba(243, 198, 69, 0.9)',
  32. 'rgba(255, 155, 0, 0.9)',
  33. ],
  34. borderColor: 'rgb(120,162,211)', // Weiße Rahmenfarbe
  35. //borderWidth: 0.6,
  36. }],
  37. labels: labels,
  38. };
  39. // Optionen für das Diagramm
  40. const options = {
  41. animation: {
  42. animateRotate: true,
  43. animateScale: true,
  44. },
  45. legend: {
  46. position: 'top',
  47. labels: {
  48. fontColor: '#78a2d3',
  49. },
  50. },
  51. scales: {
  52. reverse: false,
  53. r: {
  54. ticks: {
  55. beginAtZero: true,
  56. z: 3, // Z-Index für die Skalen (höherer Wert bringt sie weiter nach vorne)
  57. color: '#ffffff', // Farbe der Skalennummern
  58. backdropColor: 'transparent' // Hintergrundfarbe der Skalennummern entfernen
  59. }
  60. }
  61. }
  62. };
  63. // Erstellung des Diagramms
  64. const ctx = document.getElementById('polarAreaChart').getContext('2d');
  65. const polarAreaChart = new Chart(ctx, {
  66. type: 'polarArea',
  67. data: data,
  68. options: options,
  69. });
  70. // Schieberegler für Jahreszahlen
  71. const yearSlider = document.getElementById('yearRange');
  72. const yearLabel = document.getElementById('year-label');
  73. yearSlider.addEventListener('input', function() {
  74. const selectedYear = yearSlider.value;
  75. yearLabel.textContent = selectedYear;
  76. polarAreaChart.data.datasets[0].data = chartData[selectedYear];
  77. polarAreaChart.update();
  78. });
  79. // Initialisiere das Jahr-Label mit dem Startwert
  80. yearLabel.textContent = yearSlider.value;
  81. const config = {
  82. type: 'polarAreaChart',
  83. data: {
  84. color: 'rgb(0,231,231)',
  85. },
  86. options: {
  87. plugins: {
  88. tooltip: {
  89. backgroundColor: 'green',
  90. }
  91. }
  92. }
  93. };
  94. const myChart = new Chart(document.getElementById('myChart'), config);
  95. });

也尝试了这个和其他许多事情:

  1. custom: function(tooltip) {
  2. if (!tooltip) return;
  3. // Hintergrundfarbe des Tooltips auf Grün setzen
  4. tooltip.backgroundColor = 'green';
  5. }
nhaq1z21

nhaq1z211#

工具提示部分中的backgroundColor正在工作。它不为您工作的原因是因为您试图创建一个新的图表,但画布不存在。如果您将其添加到现有图表的配置中,它会显示良好。

  1. document.addEventListener('DOMContentLoaded', function() {
  2. Chart.defaults.backgroundColor = false;
  3. Chart.defaults.borderColor = '#36A2EB';
  4. Chart.defaults.color = '#000000';
  5. // Daten für das Diagramm
  6. const chartData = {
  7. 2010: [107, 90, 200],
  8. 2011: [120, 100, 220],
  9. 2012: [130, 110, 240],
  10. 2013: [140, 120, 260],
  11. 2014: [107, 130, 200],
  12. 2015: [190, 150, 220],
  13. 2016: [230, 190, 240],
  14. 2017: [250, 220, 260],
  15. 2018: [260, 240, 200],
  16. 2019: [280, 290, 220],
  17. 2020: [285, 340, 240],
  18. 2021: [310, 420, 260],
  19. // ...
  20. // Hier kannst du die Daten für jedes Jahr hinzufügen
  21. // Beispiel: 2014: [150, 700, 280]
  22. };
  23. const labels = ['Red', 'Orange', 'Yellow']
  24. const data = {
  25. datasets: [{
  26. label: 'Stromverbrauch in TWh',
  27. data: [107, 500, 200],
  28. backgroundColor: [
  29. 'rgba(192, 151, 105, 0.9)',
  30. 'rgba(162, 109, 47, 0.9)',
  31. 'rgba(243, 198, 69, 0.9)',
  32. 'rgba(255, 155, 0, 0.9)',
  33. ],
  34. borderColor: 'rgb(120,162,211)', // Weiße Rahmenfarbe
  35. //borderWidth: 0.6,
  36. }],
  37. labels: labels,
  38. };
  39. // Optionen für das Diagramm
  40. const options = {
  41. // Added this plugins block to your config:
  42. plugins: {
  43. tooltip: {
  44. backgroundColor: 'green'
  45. },
  46. legend: {
  47. position: 'top',
  48. labels: {
  49. color: '#78a2d3',
  50. },
  51. },
  52. },
  53. layout: {
  54. padding: {
  55. top: 30, // Hier kannst du den gewünschten Abstand einstellen
  56. },
  57. },
  58. animation: {
  59. animateRotate: true,
  60. animateScale: true,
  61. },
  62. scales: {
  63. reverse: false,
  64. r: {
  65. ticks: {
  66. beginAtZero: true,
  67. z: 3, // Z-Index für die Skalen (höherer Wert bringt sie weiter nach vorne)
  68. color: '#000000', // Farbe der Skalennummern
  69. backdropColor: 'transparent' // Hintergrundfarbe der Skalennummern entfernen
  70. }
  71. }
  72. }
  73. };
  74. // Erstellung des Diagramms
  75. const ctx = document.getElementById('polarAreaChart').getContext('2d');
  76. const polarAreaChart = new Chart(ctx, {
  77. type: 'polarArea',
  78. data: data,
  79. options: options,
  80. });
  81. // Schieberegler für Jahreszahlen
  82. const yearSlider = document.getElementById('yearRange');
  83. const yearLabel = document.getElementById('year-label');
  84. yearSlider.addEventListener('input', function() {
  85. const selectedYear = yearSlider.value;
  86. yearLabel.textContent = selectedYear;
  87. polarAreaChart.data.datasets[0].data = chartData[selectedYear];
  88. polarAreaChart.update();
  89. });
  90. // Initialisiere das Jahr-Label mit dem Startwert
  91. yearLabel.textContent = yearSlider.value;
  92. });

https://jsfiddle.net/qzge7hdw/1/
另外,你的传奇配置是在错误的地方与错误的名称,纠正了这一点,也为你

展开查看全部

相关问题