我已经使用highcharts编辑了一个图表,现在我想在最后一个数据标签上显示一些具有实际值的文本。
这是jsfiddle编辑
http://jsfiddle.net/3h7x9jst/2/
代码:
$(function () {
$('#container').highcharts({
chart: {
type: 'line'
},
title: {
text: ''
},
credits:{
enabled:false
},
subtitle: {
text: ''
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul']
},
yAxis: {
min:0,
max:100,
title: {
text: 'Score ( % )'
},
labels:{
enabled:false
}
},
legend:{
enabled:false
},
plotOptions:
{
line:
{
lineWidth:2,
dataLabels:
{
enabled: true,
formatter:function()
{
var pcnt = (this.y);
return Highcharts.numberFormat(pcnt,0) + '%';
}
},
enableMouseTracking: true
}
},
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 30, 7.4, 21.5, 6]
}]
});
});
在此图表中,最后一个数据标签为6%。我想显示abc 6%而不改变休息。
什么是可能的解决方案?任何帮助
答案 0 :(得分:2)
您可以尝试一种解决方法,这取决于您的整个代码使用情况。
我已经更新了你的小提琴:http://jsfiddle.net/3h7x9jst/3/
逻辑:
你要得到数组的数量&将其存储在
jquery(cnt)。将指针变量(pntr)初始化为0值递增
pntr始终在格式化程序功能中检查pntr是否等于
数组计数,即要绘制的最后一个值,因此请更改标签。
代码:
$(function () {
var cnt = 7; // Count of the array should be here
var pntr = 0;
$('#container').highcharts({
chart: {
type: 'line'
},
title: {
text: ''
},
credits:{
enabled:false
},
subtitle: {
text: ''
},
xAxis: {
categories: ['Jan', 'Feb', 'Mar', 'Apr', 'May', 'Jun', 'Jul']
},
yAxis: {
min:0,
max:100,
title: {
text: 'Score ( % )'
},
labels:{
enabled:false
}
},
legend:{
enabled:false
},
plotOptions:
{
line:
{
lineWidth:2,
dataLabels:
{
enabled: true,
formatter:function()
{
pntr++;
var pcnt = (this.y);
if(pntr == cnt)
{
return 'Your Text Here' + Highcharts.numberFormat(pcnt,0) + '%';
}else{
return Highcharts.numberFormat(pcnt,0) + '%';
}
}
},
enableMouseTracking: true
}
},
series: [{
name: 'Tokyo',
data: [7.0, 6.9, 9.5, 30, 7.4, 21.5, 6]
}]
});
});