【问题标题】:Create flot on PHP data在 PHP 数据上创建浮点数
【发布时间】:2013-11-08 15:26:19
【问题描述】:

我想创建一个基于 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":"标签 1","data":[0,1]},{"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);
}
});

谁能帮帮我?

【问题讨论】:

    标签: php jquery flot


    【解决方案1】:

    你有几个问题:

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

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

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

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

    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))
    );
    

    这是fiddle

    【讨论】:

      【解决方案2】:

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

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-09-22
        • 1970-01-01
        • 2019-04-16
        • 2019-05-26
        • 1970-01-01
        • 2018-06-10
        • 1970-01-01
        • 2015-07-14
        相关资源
        最近更新 更多