我有一个散点图,其中一些不同系列的点在准确点上重叠。 这两个点在不同系列中的x,y是相同的。
所以我需要在工具提示中同时显示它们两个。
但是,shared
选项仅在我不格式化工具提示时可用。
使用pointFormat
时不起作用。
我尝试使用formatter
,但是this
仅给出了当前的point
。
如果我将图表切换为折线图,则this
给出points
,其中所有点都位于当前位置。这样,我就可以迭代并进行格式化。
图表选项:
{
chart: {
type: 'scatter',
zoomType: 'xy'
},
title: {
text: 'Height Versus Weight of 507 Individuals by Gender'
},
subtitle: {
text: 'Source: Heinz 2003'
},
xAxis: {
title: {
enabled: true,
text: 'Height (cm)'
},
startOnTick: true,
endOnTick: true,
showLastLabel: true
},
yAxis: {
title: {
text: 'Weight (kg)'
}
},
legend: {
layout: 'vertical',
align: 'left',
verticalAlign: 'top',
x: 100,
y: 70,
floating: true,
backgroundColor: Highcharts.defaultOptions.chart.backgroundColor,
borderWidth: 1
}, tooltip: {
formatter: function () {
console.log(this);
return this.points.reduce(function (s, point) {
return s + '<br/>' + point.series.name + ': ' +
point.point.options.dynamicText;
}, '<b>' + this.x + '</b>');
},
crosshairs:true,
shared: true
},
plotOptions: {
scatter: {
marker: {
radius: 5,
states: {
hover: {
enabled: true,
lineColor: 'rgb(100,100,100)'
}
}
},
states: {
hover: {
marker: {
enabled: false
}
}
}
}
},
series: [{
name: 'Female',
color: 'rgba(223, 83, 83, .5)',
data: [{x:161.2, y:51.6, dynamicText:"foo1"}]
}, {
name: 'Male',
color: 'rgba(119, 152, 191, .5)',
data: [{x:161.2, y:51.6, dynamicText:"foo2"}]
}]
}
答案 0 :(得分:0)
共享的工具提示不适用于scatter
系列-请检查以下问题:https://github.com/highcharts/highcharts/issues/1431
最简单的解决方案是使用line
属性设置为lineWidth
的{{1}}系列类型:
0
实时演示: http://jsfiddle.net/BlackLabel/3fda1nm4/
API参考: https://api.highcharts.com/highcharts/series.line.lineWidth