意外的高图表结果



我正在使用示例所示的高图表,但由于某种原因,它完全不喜欢我的数据。我唯一一次看到结果是当我缩小到全部时,然后它只显示一个点。任何关于我做错了什么的线索将不胜感激。

我如何获取我的数据:

$jsResult = array();
$arResults = $wpdb->get_results("SELECT tsDay, nPrice FROM sometable", ARRAY_A);
    foreach($arResults as $key => $val){
        //$val['nPrice'] = floatval($val['nPrice']);
        //$jsResult[$key][0] = ($val['tsDay']*1000);
        //$jsResult[$key][1] = intval($val['nPrice']);
        //$strDate = date("Y/m/d", $val['tsDay']);
        //$strDate = explode('/', $strDate);
        $jsResult[$val['tsDay']] = '['.($val['tsDay']*1000).', '.$val['nPrice'].']';
    }
    $jsResult = "[n".implode(",n", $jsResult)."n]";
    ?>

图表:

$(document).ready(function() {
    var data = <?php echo $jsResult; ?>;
    // create the chart
    window.chart = new Highcharts.StockChart({
        chart : {
            renderTo : 'graph',
            zoomType: 'x'
        },
        navigator : {
            series : {
                data : data
            }
        },
        rangeSelector : {
            selected : 5 // All
        },
        tooltip: {
            xDateFormat: '%Y-%m-%d %H:%M:%S'
        },
        xAxis : {
            ordinal: true
        },
        series : [{
            //type: 'candlestick',
            name : 'data',
            data : data,
            dataGrouping : {
                enabled : false
            },
            marker: {
                enabled: true,
                radius: 2
            }
        }]
    });

来自Highcharts的示例数据绘制精细:

[1121212800000,38.35],
[1121299200000,40.75],
[1121385600000,41.55],
[1121644800000,41.49],
[1121731200000,43.19],
[1121817600000,43.63],
[1121904000000,43.29],
[1121990400000,44.00],
[1122249600000,43.81],
[1122336000000,43.63],
[1122422400000,43.99],
[1122508800000,43.80],
[1122595200000,42.65],

我的数据示例:

[1339736400000,1627.25],
[1339650000000,1613.50],
[1339563600000,1619.50],
[1339477200000,1603.50],
[1339390800000,1584.00],
[1339131600000,1576.50],
[1339045200000,1606.00],
[1338958800000,1635.00],
[1338526800000,1606.00],
[1338440400000,1558.00],
[1338354000000,1540.00],
[1338267600000,1579.50],
[1337922000000,1569.50], 

这是你的图表有什么问题,你的数组随着时间的推移而倒词,你从 Jun 15 开始,然后是 14 ,13 等等

如果你使用reverse()你会得到一个看起来像这样的数组

    var data = [ [1337922000000,1569.50], [1338267600000,1579.50] ,
                 [1338354000000,1540.00],[1338440400000,1558.00],
                 [1338526800000,1606.00],
                 [1338958800000,1635.00],[1339045200000,1606.00],
                 [1339131600000,1576.50],[1339390800000,1584.00],
                 [1339477200000,1603.50],[1339563600000,1619.50],]

这将使您的图表工作正常,这是一个有效的 jsFiddle

最新更新