我正在尝试将标签放在x轴上,用于下面提到的图表。 甚至我想要显示的标签都是从数据库中获取并显示的。对于y轴的每个值,存在相应的x轴。所以当我将鼠标悬停在点x轴值上时我想要:y轴值。它应该是这样的。
如果有人之前尝试过,请帮忙。
Highcharts.stockChart('container', {
scrollbar: {
barBackgroundColor: 'gray',
barBorderRadius: 7,
barBorderWidth: 0,
buttonBackgroundColor: 'gray',
buttonBorderWidth: 0,
buttonArrowColor: 'yellow',
buttonBorderRadius: 7,
rifleColor: 'yellow',
trackBackgroundColor: 'white',
trackBorderWidth: 1,
trackBorderColor: 'silver',
trackBorderRadius: 7
},
rangeSelector: {
selected: 1
},
series: [{
name: 'USD to EUR',
data: usdeur
}]
});
<div id="container" style="height: 400px; min-width: 600px"></div>
<script src="https://code.highcharts.com/stock/highstock.js"></script>
<script src="https://code.highcharts.com/stock/modules/exporting.js"></script>
<script type="text/javascript" src="https://www.highcharts.com/samples/data/usdeur.js"></script>
答案 0 :(得分:0)
使用tooltip
的{{1}} (Highcharts API here)
formatter
假设您要在tooltip: {
formatter: function() {return this.x+" : "+this.y}
}
中为x轴提供names
,则此代码应该有效:
使用Javascript:
array
请注意我在此处添加了var namesArray = ["Name1", "Name2", "Name3", "Name4"]
Highcharts.stockChart('container', {
tooltip: {
formatter: function () {
var s = '';
$.each(this.points, function () {
s += namesArray[this.series.data.indexOf(this.point)] +" : "+this.y;
});
return s;
}
},
rangeSelector: {
selected: 1
},
series: [{
name: 'USD to EUR',
data: [3, 5, 6, 7]
}]
});
作为示例。
namesArray
函数的作用如下:
它声明了一个字符串
它遍历您的所有tooltip
点
对于每个点,它获得Highstock
中点的index
,并从series.data
获得相同的index
。这应该可以实现你需要的东西。