1

我想创建一个基于 php 输出的浮点条形图。我设法从 php 输出数据,但我也想使用标签并将它们显示在 xaxis 上。由于某种原因,以下代码的输出无效。标签显示,但条形图和 xaxis 标签不显示。

PHP:

function getOverview() {

    $arr[] = array(
        'label' => "Label 1", 
        'data' => array(0, 1)
    );
    $arr[] = array(
        'label' => "Label 2", 
        'data' => array(1, 2)
    );


    echo json_encode($arr);
}

输出:[{"label":"Label 1","data":[0,1]},{"label":"Label 2","data":[1,2]}]

jQuery:

$(document).ready(function(){

$.ajax({
    url: 'http://localhost/getOverview.php',
    method: 'GET',
    dataType:"json",
    success: onOutboundReveived
});

function onOutboundReveived(series)
{

    var options = {
        series: {
            bars: {
                show: true,
                barWidth: .1,
                align: 'center'
            }
        },
        xaxis: {
            tickSize: 1 
        }

    };

    $.plot("#chart_filled_blue", series, options);
}
});

谁能帮我?

4

2 回答 2

1

你有几个问题:

1.) 系列数据需要是一个数组数组。不仅仅是一个数组:

'data' => array(array(1, 2))

当然,这是一个系列可以有多个点(即使你的有一个点)。

2.) 要获取 xaxis 标签,您有两种选择。一,使用分类插件。二、手动提供刻度标签

ticks: [[0, "zero"], [1.2, "one mark"], [2.4, "two marks"]]

在您的情况下,我只使用类别插件。您需要将最终数据修改为:

{"label":"Label 1","data":[["Label 1",1]]}

或在 PHP 中:

$arr[] = array(
    'label' => "Label 1", 
    'data' => array(array("Label 1", 1))
);

这是一个小提琴

在此处输入图像描述

于 2013-11-08T16:24:43.077 回答
0

我认为,您的输出格式不正确。尝试这个:

[
    {
        label: "Label 1",
        data: [[0,1]]
    },
    {
        label: "Label 2",
        data: [[1,2]]
    }
]
于 2013-11-08T16:25:50.967 回答