Javascript Highcharts:工具提示点将十进制格式设置为百分比
我必须使用Javascript Highcharts:工具提示点将十进制格式设置为百分比,javascript,highcharts,Javascript,Highcharts,我必须使用pointFormat属性设置工具提示的格式。问题是,我无法找到一种方法来使用{point.y}(0.0324123)并将其格式设置为进位(3.24) 如上所述,我必须在tooltip.pointFormat中执行此操作。我当前的代码如下所示 $highcharts[$key]['tooltip'] = [ 'pointFormat' => '<p style="margin:0;"><span style="color:{series.color};"
pointFormat
属性设置工具提示的格式。问题是,我无法找到一种方法来使用{point.y}
(0.0324123)并将其格式设置为进位(3.24)
如上所述,我必须在tooltip.pointFormat
中执行此操作。我当前的代码如下所示
$highcharts[$key]['tooltip'] = [
'pointFormat' => '<p style="margin:0;"><span style="color:{series.color};">{series.name}</span>: <b>{point.y:,.2f}%</b></p>'
];
$highcharts[$key]['tooltip']=[
'pointFormat'=>'{series.name}:{point.y:,.2f}%
'
];
有没有办法在html/HighCharts语法中执行{point.y:,.2f}*100
感谢您的帮助。这是
您必须像这样使用工具提示.formatter
选项(返回的值将被截断到小数点后两位):
工具提示:{
//valueSuffix:“°C”,
启用:对,
格式化程序:函数(){
返回“+this.series.name+”:“+Highcharts.numberFormat((this.y*100),2')+”%;
}
},
进一步研究后,没有办法使用“pointFormat”和“multiple”(转换为百分比)
解决方案:不要使用0.035,使用3.50。如果执行此操作,Highcharts将正确格式化轴
编辑:
Rahul Gupta在下面发布了一种方法,如果您想使用格式化程序,可以使用它来完成此操作。为什么不使用
Formatter
而不是pointFormat
?我知道你说你“必须”使用pointFormat
,但我只是想确保我们涵盖了所有的基础…这是因为我正在用PHP制作选项数组并将其传递给javascript。你不能这样传递函数,我通常通过两个javascript对象来解决这个问题。其中一个是用javascript硬编码的,包含任何不会改变的内容。。。这就是格式化程序函数、图表的大部分设置等。我有另一个javascript对象,其中包含需要由PHP生成的更改值(例如,数据、标签等)。然后,在渲染图表之前,我将两个对象合并在一起。请参见此处了解如何执行此操作pointFormat
只能设置简单的模式,不接受任何计算。为此,您确实需要使用formatter
。我亲爱的朋友,您必须了解tooltip.pointFormat
不提供对tooltip.formatter
选项提供的值执行数学计算的灵活性。毕竟,您想要的是在工具提示中显示格式化的值,对吗?我已经更新了我的答案,以返回截断到小数点后两位的百分比值
tooltip: {
//valueSuffix: '°C',
enabled: true,
formatter:function(){
return '<span style="color:'+this.series.color+'">'+this.series.name+'</span>: <b>'+Highcharts.numberFormat((this.y*100),2,'.')+'%</b>';
}
},