0

我有一个创建折线图的功能。我给它一个布尔参数来告诉我是否想要十进制。然后我做:

if($decimal)
    $format = "{point.y:.2f}";
else
    $format = "{y}";

并在创建图表时:

    plotOptions: {
            line: {
                dataLabels: {
                    enabled: true, 
                    format: ".$format."
            }
     }

但它不起作用。如果不是".$format."我举的例子:'{point.y:.2f}'它有效

我需要指出“..” 不是问题,因为我将它用于其他一些选项。

请问我的错在哪里?

4

2 回答 2

0

我猜你需要在包含变量之前将值括在引号中。

所以这:

plotOptions: {
            line: {
                dataLabels: {
                    enabled: true, 
                    format: ".$format."
            }
     }

变成这样:

plotOptions: {
            line: {
                dataLabels: {
                    enabled: true, 
                    format: '".$format."'
            }
     }

不过,您应该会遇到某种 javascript 错误……是吗?

于 2013-03-29T16:28:57.787 回答
0

看看如何在 php http://docs.highcharts.com/#preprocessing-data-from-a-database中使用它,以防使用双引号时,不需要使用点,所以它应该是“$格式”。此外,如果您尝试将“{point.y:.2f}”粘贴为字符串,它将不起作用,因为它不是 JSON。我建议使用格式化程序来定义带前缀的返回函数。

http://api.highcharts.com/highcharts#tooltip.formatter

于 2013-04-02T12:30:46.930 回答