首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用数组填充X轴的flot图

用数组填充X轴的flot图
EN

Stack Overflow用户
提问于 2014-01-06 03:11:19
回答 2查看 915关注 0票数 1

我试图只使用存储在数组$date[]中的数据填充xaxis

这是我的编码;

代码语言:javascript
运行
复制
        <?php
// Main query to pull data from 'tests' table
    $sql = "SELECT UNIX_TIMESTAMP(`date`)*1000 AS unixDate,`date`, `test1`, `test2`, `test3`, `test4`, `test5`, `test6`, `test7`, `test8`, `test9`, `test10`, `test11`, `test12`, `test13`, `test14` FROM `tests` WHERE member_id = '1' ORDER by `date` ASC";
    $result = mysql_query($sql) or die ("no query");

//  Dataset#1
while($row = mysql_fetch_assoc( $result ))  {
    $dataset1[] = array( $row['unixDate'], sprintf( "%.3f", $row['test1'] ));
    $date[] = array($row['unixDate']);
    }
?>
<div id="chart1Canvas" style="width:510px;height:200px;">
<div id="chart1" style="width:500px;height:200px;"></div></div>
<script type="text/javascript">
    //START CHART#1
    var dateArray = [ <?php echo json_encode($date); ?> ];
    var chart1Options = {
        xaxis: {show: true, mode: "time", timeformat: "%y-%m-%d", ticks: dateArray},
        yaxis: {show: true, min: 1.000, max: 1.050, tickDecimals: 3 },
        lines: {
            show: true,
            fill: true,
            fillColor: { colors: [{ opacity: 0.2 }, { opacity: 0.2}] }
        },
        points: { show: true, radius: 1 },
        grid: {
            show: true,
            color: '#fff',
            backgroundColor: false,
            borderWidth: 0,
            hoverable: true,
            clickable: true }
    };

    function getTooltip(label, x, y) {
    return "Your sales for " + x + " was $" + y; }

    var dataset1 = { data: <?php echo json_encode($dataset1); ?>, color: 'white'};

    $.plot($("#chart1"), [ dataset1 ], chart1Options);
    //END CHART#1
</script>

当我运行这整个xaxis磁盘时,我假设必须先将JSON_encode数组分配给xaxis的“ticks”选项,然后再将它分配给date[]数组。

有人能检查一下我在这里做错了什么吗?

谢谢。

编辑:改变了一些东西,现在它正在做一些事情,但仍然没有网格和标签的xaxis?

检查链接:http://www.myreeftests.com/graphs2.php

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-01-06 10:30:52

您的dateArray如下所示:

代码语言:javascript
运行
复制
var dateArray = [ [["1367704800000"],["1367791200000"], ...

但它必须是这样的:

代码语言:javascript
运行
复制
var dateArray = [1367704800000,1367791200000, ...

因此,删除javascript中的外部[ ],并将时间戳格式化为长in,而不是字符串数组(不确定如何在php中这样做)。

有关更多信息,请参见文档

票数 2
EN

Stack Overflow用户

发布于 2014-01-06 20:48:24

好的,在混乱的情况下,我设法让它用数组来显示正确的滴答,最后一个问题是让滴答均匀地排列出来;

链接

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/20942361

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档