Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/434.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Highcharts(JavaScript):如果满足条件,则更改列的颜色_Javascript_Html_Highcharts - Fatal编程技术网

Highcharts(JavaScript):如果满足条件,则更改列的颜色

Highcharts(JavaScript):如果满足条件,则更改列的颜色,javascript,html,highcharts,Javascript,Html,Highcharts,我想创建一个动态图表,以相同的颜色显示所有条形图,除了看它的人(在本例中:由Afrika、Amerika等代表的人)。您知道如何(以简单的方式)进行吗 提前谢谢 海图代码来自 Highcharts.chart('container'{ 图表:{ 类型:'bar' }, 标题:{ 正文:“按区域分列的历史世界人口” }, 副标题:{ 文本:“来源:” }, xAxis:{ 类别:[“非洲”、“美洲”、“亚洲”、“欧洲”、“大洋洲”], 标题:{ 文本:空 } }, 亚克斯:{ 分:0,, 标题:{

我想创建一个动态图表,以相同的颜色显示所有条形图,除了看它的人(在本例中:由Afrika、Amerika等代表的人)。您知道如何(以简单的方式)进行吗

提前谢谢

海图代码来自

Highcharts.chart('container'{
图表:{
类型:'bar'
},
标题:{
正文:“按区域分列的历史世界人口”
},
副标题:{
文本:“来源:”
},
xAxis:{
类别:[“非洲”、“美洲”、“亚洲”、“欧洲”、“大洋洲”],
标题:{
文本:空
}
},
亚克斯:{
分:0,,
标题:{
正文:“人口(百万)”,
对齐:“高”
},
标签:{
溢出:'justify'
}
},
工具提示:{
valueSuffix:'百万'
},
打印选项:{
酒吧:{
数据标签:{
已启用:true
}
}
},
图例:{
布局:“垂直”,
对齐:“右”,
垂直排列:“顶部”,
x:-40,
y:80,
浮动:是的,
边框宽度:1,
背景颜色:((Highcharts.theme&&Highcharts.theme.legendBackgroundColor)| |'#FFFFFF'),
影子:对
},
学分:{
已启用:false
},
系列:[{
名称:“1800年”,
数据:[107,31635203,2]
}]
});

您只需为数据中的点设置
颜色即可:

Highcharts.chart('container', {
    series: [{
        type: 'bar',
        data: [43934, {
            y: 52503,
            color: 'red'
        }, 57177, 69658, 97031, 119931, 137133, 154175]
    }]
});
如果要根据某些条件更改颜色,可以使用点的
update
方法,例如在
load
事件中:

chart: {
    events: {
        load: function() {
            Highcharts.each(this.series[0].points, function(p) {
                if (p.y > 8) {
                    p.update({
                        color: 'red'
                    });
                }
            });
        }
    }
}
现场演示:

API:

chart: {
    events: {
        load: function() {
            Highcharts.each(this.series[0].points, function(p) {
                if (p.y > 8) {
                    p.update({
                        color: 'red'
                    });
                }
            });
        }
    }
}