Как изменить цвет отдельной точки на диаграмме spiderweb

#javascript #highcharts

#javascript #highcharts

Вопрос:

Я хотел бы изменить цвет отдельной точки, где ее значение меньше 60%.

(Например, измените синий цвет двух точек, которые находятся в розовой области, на красный.)

Возможно ли это?

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

Javascript:

 Highcharts.chart('container', {

  chart: {
    polar: true,
    type: 'line'
  },

  title: {
    text: 'Budget vs spending',
    x: -80
  },

  pane: {
    size: '80%'
  },

  xAxis: {
    categories: ['Sales', 'Marketing', 'Development', 'Customer Support',
      'Information Technology', 'Administration'],
    tickmarkPlacement: 'on',
    lineWidth: 0
  },

  yAxis: {
     gridLineInterpolation: 'polygon',
     lineWidth: 0,
     min: 0,
     max: 100
  },

  tooltip: {
    shared: true,
    pointFormat: '<span style="color:{series.color}">{series.name}: <b>${point.y:,.0f}</b><br/>'
  },

  legend: {
    align: 'right',
    verticalAlign: 'top',
    y: 70,
    layout: 'vertical'
  },

  series: [{
    name: 'Allocated Budget',
    color: 'blue',
    pointPlacement: 'on',
    data: [83, 79, 40, 35, 97, 80],
    pointPlacement:'on',

  }, {
    name: 'lower than 60%',
    data: [60,60,60,60,60,60],
    pointPlacement: 'on',
    lineWidth: 2,
    type: 'area',
    color: '#ffbce6',
    dashStyle: 'shortdash',
  }]

});
  

JS Fiddle

Ответ №1:

Один из вариантов — изменить данные для вашего Allocated Budget ряда на этот:

data: [83, 79, {y:40, color:'red'}, {y:35, color:'red'}, 97, 80]

Проверьте обновленный fiddle https://jsfiddle.net/mpof48nu

Комментарии:

1. Спасибо! но возможно ли это сделать с помощью функции для динамического изменения цвета? Если значение данных изменяется, цвет меняется автоматически.

2. Вы можете изменить способ подачи данных в highcharts. Вы можете сделать что-то вроде data: dataVaraiable и создать dataVariable из своего серверной части. Я надеюсь, что это имеет смысл.