javascript - 隐藏 ChartJS 圆环图上的标签

标签 javascript chart.js

提前感谢您的帮助。我正在使用图表js的圆环图。其中百分比值标 checkout 现在图表上。有什么方法可以隐藏它。

enter image description here

 var category_doughnut_datas = [80,5,5,10];

var category_doughnut__data = {
  labels: ["Safe Zone", "Level 1","Level 2","Level 3"],
  };

var category_doughnut_options = {
  cutoutPercentage: 60,
  legend: {
    display: false,
    position: "top",
    paddingBottom: 16,
    align: "start",
    labels: {
      fontColor: "#555555",
      fontSize: 20,
      boxWidth: 0,
    },
  },
  tooltips: {
    displayColors: false,
  },
  responsive: true,
};
var dough_ctx = document.getElementById("overallStatus").getContext("2d");
if (dough_ctx) {
  var myDoughnutChart = new Chart(dough_ctx, {
    type: "doughnut",
    data: category_doughnut__data,
    options: category_doughnut_options,
  });
}

最佳答案

由于您没有指定任何选项来在选项中将其绘制在图表上,并且它不是默认的chart.js行为,我希望您将其定义为默认值,在这种情况下,您可以在插件部分的选项对象中指定datalabels: false 停止渲染:

Chart.register(ChartDataLabels);
Chart.defaults.plugins.datalabels.color = '#fff';
Chart.defaults.plugins.datalabels.formatter = (value, ctx) => {
  let sum = 0;
  let dataArr = ctx.chart.data.datasets[0].data;
  dataArr.map(data => {
    sum += data;
  });
  let percentage = (value * 100 / sum).toFixed(2) + "%";
  return percentage;
};

const options = {
  type: 'doughnut',
  data: {
    labels: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"],
    datasets: [{
      label: '# of Votes',
      data: [12, 19, 3, 5, 2, 3],
      backgroundColor: ["Red", "Blue", "Yellow", "Green", "Purple", "Orange"]
    }]
  },
  options: {
    plugins: {
      datalabels: false // Removing this line shows the datalabels again
    }
  }
}

const ctx = document.getElementById('chartJSContainer').getContext('2d');
new Chart(ctx, options);
<body>
  <canvas id="chartJSContainer" width="600" height="400"></canvas>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/Chart.js/3.5.1/chart.js"></script>
  <script src="https://cdnjs.cloudflare.com/ajax/libs/chartjs-plugin-datalabels/2.0.0/chartjs-plugin-datalabels.js"></script>
</body>

关于javascript - 隐藏 ChartJS 圆环图上的标签,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68950373/

相关文章:

javascript - 如何将我的 moment js 持续时间值限制为仅 2 位数?

javascript - 如何让 Chart.JS 条形图将每个条形上的两个数据值堆叠在一起,并在每个条形上打印计算值?

javascript - 在 Chart.js 中使用自定义 x 轴以及月份和年份绘制条形图时出现问题

javascript - 使用 Protractor 测试 Chart.js Canvas

jquery - 如何在 Chart.js 中循环工具提示附加数据

javascript - 在 Chart.js 中绘制线上的点

javascript - 创建一个 JavaScript npm 包 - 是否需要提供一个转译的 dist?

javascript - 如何在angularjs中对数字进行复数化和格式化

javascript - SharePoint 和 JavaScript - "Open with Explorer"问题

javascript - 这个函数的时间复杂度是多少?