【发布时间】:2023-03-14 12:07:01
【问题描述】:
我正在尝试使用高位图表绘制图表。我需要根据标志值更改颜色。
我尝试使用它,但我只得到基于标志更改的点,但我没有让线条着色。
这是我的代码。
$(function () {
var getColor = {'g' : '#008000',
'r' : '#FF0000',
'b' : '#000000'};
$('#container').highcharts({
title: {
text: 'Monthly Average Temperature',
x: -20 //center
},
subtitle: {
text: 'Source: WorldClimate.com',
x: -20
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun',
'Jul', 'Aug', 'Sep', 'Oct', 'Nov', 'Dec']
},
yAxis: {
title: {
text: 'Temperature (°C)'
},
plotLines: [{
value: 0,
width: 1,
color: '#808080'
}]
},
tooltip: {
valueSuffix: '°C'
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'middle',
borderWidth: 0
}, series: [{
name: 'London',
data: [{y:3.9,flag:0,color:'#000000'},{y:4.2,flag:0,color:'#000000'},{y:5.7,flag:1,color:'#008000'},{y:8.5,flag:0,color:'#000000'},{y:11.9,flag:0,color:'#000000'},{y:15.2,flag:0,color:'#000000'},{y:17.0,flag:0,color:'#000000'},{y:16.6,flag:0,color:'#000000'},{y:14.2,flag:2,color:'#ff0000'},{y:10.3,flag:0,color:'#000000'},{y:6.6,flag:1,color:'#008000'},{y:4.8,flag:2,color:'#ff0000'}]
}]
}/*,function(chart){
$.each(chart.series[0].data,function(i,data){
if(data.flag == 0){
console.log('green');
color : getColor['g']}
if(data.flag ==1){
console.log('black');
color : getColor['b']}
if(data.flag == 2){
console.log('red');
color : getColor['r']}
});
}*/);
});
请帮帮我。需要得到彩色线和点..我没有找到我做错的地方,请帮助我。
【问题讨论】:
-
你必须像使用标志一样使用颜色,
data.color = someColor而不是color -
基于标志我需要更改颜色。但我得到的只有点是彩色的,但不是线
-
哎呀,对不起。但是你想要这条线是什么颜色的?如果绿点连接到红点,连接它们的线应该是什么颜色?
-
在高位图表中,我们有区域......基于区域,我们将改变颜色。我的要求是,当基于标志的标志 0、1、2 时,区域颜色应该改变。如果 flag==0 那么我应该得到绿色,如果 flag==1 是黑色,否则我应该得到红色。
-
那么您需要在系列对象中定义区域数组。喜欢here。
标签: javascript jquery json highcharts