首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >flot不绘制条形图

flot不绘制条形图
EN

Stack Overflow用户
提问于 2013-12-05 19:40:37
回答 1查看 1.1K关注 0票数 0

我试过用另外两个脚本(行图和饼图),但是flot没有画条形图.你能帮我把这个.我想错误在javascript..。

图书馆:

代码语言:javascript
运行
复制
<script src="js/jquery.flot.min.js"></script>
<script src="js/jquery.flot.pie.min.js"></script>
<script src="js/jquery.flot.stack.js"></script>
<script src="js/jquery.flot.resize.min.js"></script>

以下是printdata db调用:

代码语言:javascript
运行
复制
[["junio",390],["julio",125],["agosto",50]]

下面是graficayear.php中的脚本:

代码语言:javascript
运行
复制
<?php
include 'includes/configs.php';
$sql = $conn->prepare("SELECT DATE_FORMAT(start, '%M') AS mdate, SUM(honorario) AS total_mes 
FROM CITAS WHERE YEAR(current_date) GROUP BY mdate DESC");
    $sql->execute();
    while($row = $sql->fetch(PDO::FETCH_ASSOC)) {

    $datayear[] = array($row['mdate'],(int) $row['total_mes']);
}  
?>

下面是chartyear.php中的代码:

代码语言:javascript
运行
复制
<?php include 'graficayear.php'; ?>
<script type='text/javascript' charset='utf-8'> 
$(function () {
$.plot(
    $("#baryear"),
    [{
        data : <?php echo json_encode($datayear);?>,
        color: '#012D4C',
        bars: { show: true, fillColor: '#4682b4', barWidth: (15*24*60*60*1000), align: 'center' }
    }],
    {
        grid: { color: '#012D4C' },
        xaxis: {
            mode: 'time',
            tickDecimals: 0,
            tickSize: [1,'month'],
            autoscaleMargin: 0.001
        }
    }
);
});
</script>

和有身份证的设计资料组:

代码语言:javascript
运行
复制
<?php include 'chartyear.php'; ?>
<div id="baryear" style="width: 320px; height: 300px;"></div>

到目前为止,我的图表是这样的:

这是我需要在条形图中显示的数据:

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2013-12-05 20:32:33

您需要更仔细地阅读有关预期数据格式的文档。在这里,您已经指定了一个时间型xAxis,但是有了给定它的类别。你必须选择一种或另一种方式。

因此,考虑到json数据的格式,这里是您想做的事情的最短路径:

代码语言:javascript
运行
复制
// given your data
var datayear = [["junio",390],["julio",125],["agosto",50]];

// split it into a data array and a ticks array
var data = [], ticks = [];  
for (var i = 0; i < datayear.length; i++) {
    data.push([i,datayear[i][1]]); // note that the x value is numeric
    ticks.push([i,datayear[i][0]]); // and that the x value is matched to a "category"
}

$.plot(
    $("#baryear"),
        [{
           data : data,
           color: '#012D4C',
           bars: { show: true, fillColor: '#4682b4', align: 'center' }
        }],
     {
         grid: { color: '#012D4C' },
         xaxis: {
             ticks: ticks
         }
     });

小提琴这里.

生产:

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

https://stackoverflow.com/questions/20409058

复制
相关文章

相似问题

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