我通过将fillColor设置为与背景相同来“伪造”一个清晰的圆圈作为标记。它工作得很好。现在,在悬停时,我试图让圆圈填充系列颜色。我不能将它设置为null,因为它仍然需要背景颜色。
有什么想法吗?
这是我的图表代码(此处的实时版本:http://jsbin.com/ukabob/2/edit):
$(function () {
var chart;
$(document).ready(function() {
chart = new Highcharts.Chart({
chart: {
renderTo: 'container',
type: 'line',
backgroundColor: '#E9E7DC'
},
colors: ['#A74B59', '#46C4B7', '#EDBA70'],
credits: {
enabled: false
},
title: {
text: null
},
xAxis: {
categories: ['2013', '2014', '2015', '2016', '2017', '2018',
'2019', '2020', '2021', '2022'],
gridLineWidth:1,
gridLineColor: '#FFFFFF',
labels: {
style: {
color: '#000000'
},
formatter: function() {
return '<div style="font-size:22px; font-family: \'Advent Pro\', sans-serif;">'+
this.value +'</div>';
},
y:25
},
lineColor: '#FFFFFF',
tickColor: '#FFFFFF',
tickLength: 30
},
yAxis: {
gridLineWidth:0,
title: {
text: null
},
labels: {
enabled: false
}
},
plotOptions: {
series: {
marker: {
radius: 6,
fillColor: '#E9E7DC',
lineWidth: 2,
lineColor: null, // inherit from series
symbol: 'circle',
states: {
hover: {
fillColor: null,
lineWidth: 2,
radius:6
}
}
},
states: {
hover: {
lineWidth:4
}
}
}
},
tooltip: {
borderWidth:0,
borderRadius: 0
},
legend: {
layout: 'vertical',
align: 'right',
verticalAlign: 'top',
x: -10,
y: 100,
borderWidth: 0
},
series: [{
name: 'Honeywell',
data: [700,725,750,850,950,1000,1025,1050,1050,1050]
}, {
name: 'Bombardier',
data: [661,758,880,990,1065,1136,1193,1241,1289,1335]
}, {
name: 'Embraer',
data: [747,789,839,861,890,908,984,1030,1097,1156]
}]
});
});
});
答案 0 :(得分:3)
如果你定义了fillColor:&#34; white&#34;在标记上,悬停或选择状态时,您无法从系列中获取默认/原始颜色。
我找到了解决问题的方法。 如果在lineWidth(&gt; = radius)上定义一个较高的值,则会填充整个点。
series: [{
data: [],
marker: {
states: {
hover: {
fillColor: null,
radius: 6,
lineWidth: 6
}
}
}
}]
这是一个例子:http://jsbin.com/majigera/1
迟到的回应。希望这可以帮助别人。
答案 1 :(得分:2)
我不确定这应该是什么样子,但我看到两种方式:
你想要在行之间留空空间,并在悬停时填充该空间,在这种情况下你可以使用这个解决方案:http://jsbin.com/ukabob/3/edit正如你所看到的,对于每个系列你必须设置标记选项: / p>
series: [{
data: [],
marker: {
states: {
hover: {
fillColor: yourColor
}
}
}
}]
您不希望行之间有空格,在这种情况下,您可以将标记半径设置为0,请参阅:http://jsbin.com/ukabob/5/edit
plotOptions: {
series: {
marker: {
radius: 0,
lineColor: null, // inherit from series
symbol: 'circle',
states: {
hover: {
fillColor: null,
fillColor: null,
lineWidth: 2,
radius: 6
}
}
}
}
}