首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >隐藏数据集图例v3

隐藏数据集图例v3
EN

Stack Overflow用户
提问于 2021-04-04 16:17:44
回答 2查看 5.6K关注 0票数 4

我目前在网页上的图表是由Chart.js v2.5.3提供的。不久前配置的图表工作得非常好。以下是代码:

代码语言:javascript
复制
var ctw = document.getElementById("chart-budget");
var myChart = new Chart(ctw, {
  type: 'bar',
  data: {
    labels: ["budget", "costs"],
    datasets: [{
      label: "Amount",
      data: [520980, 23397.81],
      backgroundColor: [
        'rgba(143, 211, 91, 0.2)',
        'rgba(255, 99, 132, 0.2)',
      ],
      borderColor: [
        'rgba(143, 211, 91,1)',
        'rgba(255, 99, 132, 1)',
      ],
      borderWidth: 1
    }]
  },
  options: {
    legend: {
      display: false
    },
    responsive: true,
    scales: {
      yAxes: [{
        ticks: {
          beginAtZero: true
        },
        gridLines: {
          drawBorder: false,
        }
      }],
      xAxes: [{
        gridLines: {
          display: false,
        }
      }]
    }
  }
});         

由于v3现在可用,我正在考虑切换到它。一个快速的测试揭示了一些我需要克服的问题。我正在努力解决的问题之一是无法隐藏数据集图例。在V2.5中,这是由options.legend.display设置为false,但不再是这样。在文献资料中,我没有遇到任何可以帮助我的东西。

有没有人能就如何在Chart.js V3中隐藏一个传说提出建议?

/Kuba

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-26 10:13:49

像下面这样的配置选项可以解决V3版本中的问题。

代码语言:javascript
复制
options: { plugins: { legend: { display: false }, } }
票数 13
EN

Stack Overflow用户

发布于 2022-06-06 12:53:55

Chart.js V3中,您可以向options.plugins.legend.labels添加一个filter函数,并计算标签或它们的datasetIndex值,以抑制特定的传说,而不是所有

代码语言:javascript
复制
options: {
  plugins: {
    legend: {
      labels: {
        filter: function(legendItem, data) {
          let label = data.datasets[legendItem.datasetIndex].label || '';
          if (typeof(label) !== 'undefined') {
            if (legendItem.datasetIndex >= 3){
              return false;
            }
          }
          return label;
        }
      }
    }
  }
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66943360

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档