Jamie888 Ответов: 1

Изменение цвета гистограммы в зависимости от состояния


Привет, у меня есть 2 серии в моем хайчарте. Ряда series1 и series2. При попадании в состояние их цвет изменится на красный. Я успешно сделал это для серии 2, но почему-то не могу изменить и цвет ОС серии 1. Ниже приведены мои коды:

$('#myDiv').highcharts({
//logics here
            }, function (chart) {
                var max = 80;

                $.each(chart.series[2].data, function (i, data) {
                    if (data.y < max) {
                        data.graphic.attr({
                            fill: 'RED'
                        });
                        chart.series[0].data[0].update({
                            marker: {
                                fillColor: 'RED'
                            }
                        });
                    }
                });
            });



Как показано на кодах, нет никаких проблем в изменении данных/цвета серии[2], но когда я хочу изменить цвет для серии[1], это не позволит мне этого сделать.
К вашему сведению, цвет серии[1] будет меняться в зависимости от значения серии[2], если серия[2] изменит цвет, то серия[1] последует его примеру.

Что я уже пробовал:

график.серии[1].данных.графический.АТР.({
заполнение: "красный"
});

1 Ответов

Рейтинг:
2

Jamie888

Сэр, я изменил коды на:
график.сериалы[0].данные[я].обновление({
маркер: {
fillColor: 'красный'
}
});
Но цвет все равно не изменился.

Karthik_Mahalingam

Не могли бы вы опубликовать полный код

Jamie888

Сэр, сценарий обновлен.

Jamie888

Сэр, я нашел решение этой проблемы. Я удалил:
график.сериалы[0].данные[0].обновление({
маркер: {
fillColor: 'красный'
}
});

в:
график.сериалы[0].данные[я].графический.м({ заполнение: 'красный' });
график.перерисовывать();

Jamie888

Но одна вещь, хотя, это ошибка highchart, что когда я наведу указатель мыши на точку/столбец с красным цветом, он вернется к своему первоначальному цвету и не вернется обратно к красному, даже если я наведу указатель мыши на точку?

Karthik_Mahalingam

тогда вам также придется написать код для hover
Демо-Версия Highcharts-JSFiddle[^]



парить: {
fillColor: 'красный',
lineColor: 'красный'
}

Jamie888

Я изменил коды, как и без "состояний"::
график.сериалы[0].данные[я].графический.м({ заполнение: 'красный' });
наведении: { цвет заливки: 'красный' };
график.перерисовывать();

Но результат тот же.

Karthik_Mahalingam

хорошо я проверю