Как проверить тип диаграммы на Chart.js

1

Я заметил, что части моего кода не работают для разных типов диаграмм, поэтому я хотел сделать оператор if else для этой части, чтобы я мог сохранить его для диаграмм, которые работали, и изменить его для диаграмм, которые не, По какой-то причине я не могу понять, как проверить тип диаграммы.

let massPopChart = new Chart(myChart, {
  type:'polarArea', // bar, horizontalBar, pie, line, doughnut, radar, polarArea
  data:{
    labels:['Boston', 'Worcester', 'Springfield', 'Lowell', 'Cambridge', 'New Bedford'],
    datasets:[{
      label:'Employed',
      data:[
        368750,
        94941,
        60847,
        52649,
        63540,
        42322
      ],
      if(ChartType:'pie' || ChartType:'doughnut' || ChartType:'polarArea'){
        backgroundColor:[
          'rgba(255, 99, 132, 0.6)',
          'rgba(255, 99, 132, 0.6)',
          'rgba(255, 99, 132, 0.6)',
          'rgba(255, 99, 132, 0.6)',
          'rgba(255, 99, 132, 0.6)',
          'rgba(255, 99, 132, 0.6)'
      ]} else {
        backgroundColor:[
          'rgba(255, 99, 132, 0.6)',
          'rgba(54, 162, 235, 0.6)',
          'rgba(255, 206, 86, 0.6)',
          'rgba(75, 192, 192, 0.6)',
          'rgba(153, 102, 255, 0.6)',
          'rgba(255, 159, 64, 0.6)',
          'rgba(255, 99, 132, 0.6)'
      ]},

Я также попробовал "type! =", "Type:", "chartConfig.type" и т.д.

Теги:
chart.js

1 ответ

1

Вы можете использовать эту опцию, чтобы получить тип диаграммы:

massPopChart.config.type
  • 0
    когда я говорю if (massPopChart.config.type: 'pie'), он возвращает 'types', может использоваться только в файле .ts
  • 0
    Это единственный способ, которым я знаю, как это сделать. Метод defaults._set в controller.line.js передает значение "line" в качестве области видимости в helpers.merge . После этого мы теряем ценность. Было бы хорошо, если бы у контроллеров диаграммы было поле type или className .

Ещё вопросы

Сообщество Overcoder
Наверх
Меню