Chart.js один ярлык на столбец с накоплением - PullRequest
0 голосов
/ 31 декабря 2018

Я использую файл chart.js с плагином datalabels, но у меня возникают проблемы с отображением одной метки на столбец с накоплением.

Я пытался получить доступ к мета-данным набора данных, чтобы различать, чтобы отображать метки, но изо всех силдостигать.Помоги мне сделать это.Пожалуйста, посмотрите мой пример здесь: https://jsfiddle.net/fraserr/9ezggxx5/314/

var datasets = JSON.parse('[{"username":"test name","stack":"2","label":"test name - actual","dataset":{"2018-12-17":"3","2018-12-24":"1"},"data":["3","1"],"borderColor":"#db005f","backgroundColor":"#f190b0","borderWidth":1},{"username":"test name","stack":"2","label":"test name - target","dataset":{"2018-12-17":"10","2018-12-24":"10"},"data":["10","10"],"borderColor":"#511158","backgroundColor":"#aa89ab","borderWidth":1},{"username":"Santa Claus","stack":"1","label":"Santa Claus - actual","dataset":{"2018-12-17":"2","2018-12-24":0},"data":["2",0],"borderColor":"#db005f","backgroundColor":"#f190b0","borderWidth":1},{"username":"Santa Claus","stack":"1","label":"Santa Claus - target","dataset":{"2018-12-17":"2","2018-12-24":"2"},"data":["2","2"],"borderColor":"#511158","backgroundColor":"#aa89ab","borderWidth":1}]');

new Chart('chart', {
  type: 'bar',
  data: {
    labels: ['2018-12-17', '2018-12-24'],
    datasets: datasets
  },
  options: {
    scales: {
      xAxes: [{
        stacked: true,
        ticks: {
          beginAtZero: true,
          suggestedMax: 50
        }
      }],
      yAxes: [{
        stacked: true
      }]
    },
    plugins: {
      datalabels: {
        formatter: (value, ctx) => {
          return ctx.dataset.username;
        },
        align: 'end',
        anchor: 'end',
      }
    }
  }
});

Мой желаемый результат - иметь «имя теста» в верхней части 1-го бара, «Санта-Клаус» во 2-м, «имя теста» в3-й и "Дед Мороз" 4-го.В идеале я бы всегда показывал одну метку на бар (даже если одна панель на стек скрыта).

Заранее спасибо!

...