【问题标题】:HighCharts Column Range Data after json_encodejson_encode 后的 HighCharts 列范围数据
【发布时间】:2015-04-12 18:18:41
【问题描述】:

我正在尝试扩展我在 JSFiddle 找到的出色的 HighCharts 列范围图示例。经过多天和大量研究后,我几乎完成了动态生成图表,但我无法以正确格式获取 HighCharts 的 y 数据。

我可以使用 json_encode 成功地将 php 中的服务器中的 x 数据获取到 Javascript 中的浏览器,但是即使在阅读 how to use json_encodejson_encode returning the next rows values - PHP PDO SQL HighCharts 之后,我仍然无法获取 y 数据来做同样的事情。我觉得我正处于解决方案的风口浪尖,但我的电脑却有不同的想法。

为了简化我的问题解决,我在 PHP 中硬编码了一些示例数据:

$data_x_in_php_array = array();

// set x values
array_push($data_x_in_php_array, 'A');
array_push($data_x_in_php_array, 'B');

// set y values
$data_y_in_php_array[] = array('x' => 0, 'low' => 1375488000000, 'high' => 1375527600000);

接下来我使用 json_encode 将数据从 php 移动到 javascript:

var data_x_in_js_array =  <?php echo json_encode($data_x_in_php_array); ?>;
alert('data_x_in_js_array =' + data_x_in_js_array);

var data_y_in_js_array =  <?php echo json_encode($data_y_in_php_array, JSON_NUMERIC_CHECK); ?>;
alert('data_y_in_js_array =' + data_y_in_js_array);

然后我将示例中提供的一些数据注释掉,并将其替换为 data_y_in_js_array:

var data_x =         data_x_in_js_array;

            data_y =             [{//blue
                                    data_y_in_js_array // uncommenting this line and commenting out the next three lines causes bars to disappear in the chart
                                    //x: 0,
                                    //low:  1375488000000, // milliseconds since unix epoch
                                    //high: 1375527600000  // milliseconds since unix epoch
                                 }

不幸的是,图表呈现时没有显示条形。

我在优秀的PhpFiddle 上发布了一个示例。非常感谢任何帮助。

【问题讨论】:

  • 对我来说很好 " $data_y_in_php_array[] = array('x' => 0, 'low' => 1375488000000, 'high' => 1375527600000);"工作正常。 data_y_in_js_array 的问题在于它是字符串数组而不是对象中的数字。一般不是json。
  • 嗯...当我转到 PhpFiddle 示例的第 100 行时,取消注释 data_y_in_js_array,并注释掉接下来的三行,就像上面的最后一段代码一样,条不显示。感谢您抽出宝贵时间查看此@SebastianBochan

标签: json highcharts


【解决方案1】:

我让它工作了!在 PHP 端使用 strtotime 并在 Javascript 中找出月份索引从 0 开始(?!)让我们可以在此处找到解决方案:PHP Fiddle

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-18
    • 1970-01-01
    相关资源
    最近更新 更多