使用动态标签Morris条形图


Using dynamic labels Morris Bar Chart

我正在使用Morris条形图来显示产品销售情况。我想有一个动态标签(悬停)。我正在通过PHP获取数据。

array('product' => $row['productid'], 'sales'=> $row['freq'], 'name' => $product_name);

我的Jquery代码在这里:

$.getJSON('getdata.php?command=product_sales', function(data) 
    {
    //var product_name = data.name;
        Morris.Bar({
            element: 'morris-product-sales-chart',
            data: data,
            xkey: ['product'],
            ykeys: ['sales'],
            labels: ['Product Name'],
            hideHover: 'auto',
            resize: true
        });
    });

如果您注意到,标签被硬编码为"产品名称",但是,我希望它是动态的(PHP中的"名称"属性)。知道怎么做吗?

感谢

我不确定我是否理解正确(在这里寻找其他东西),但这应该有效:

labels: [<?=$name?>]

我使用了类似的方法,从数据库中提取表数据(包括产品名称列表)。

绝对!假设你有一个变量,它有Morris对象

var achart = Morris..Bar({
        element: 'morris-product-sales-chart',
        data: data,
        xkey: ['product'],
        ykeys: ['sales'],
        labels: ['Product Name'],
        hideHover: 'auto',
        resize: true
    });
});

可以将标签设置为achart.options.labels=,然后重新绘制以呈现更新。