ExtJS图表标签问题

时间:2014-11-05 21:45:13

标签: charts extjs5

我有一个包含多个系列的cartesian图表。一个系列是 Bar ,另一个系列是 Line 。线轴标签未呈现与为该线输入的数据相对应的正确值。

例如我的商店数据如下:

{
    "agg_fq": "2013 - FQ1",
    "quarterly_sum": 12748,
    "dys": 92,
    "avg_per_day": 138
}, {
    "agg_fq": "2013 - FQ2",
    "quarterly_sum": 12161,
    "dys": 90,
    "avg_per_day": 135
}, {
    "agg_fq": "2013 - FQ3",
    "quarterly_sum": 12410,
    "dys": 91,
    "avg_per_day": 136
}, {
    "agg_fq": "2013 - FQ4",
    "quarterly_sum": 12137,
    "dys": 92,
    "avg_per_day": 131
}, {
    "agg_fq": "2014 - FQ2",
    "quarterly_sum": 11970,
    "dys": 90,
    "avg_per_day": 133
}, {
    "agg_fq": "2014 - FQ3",
    "quarterly_sum": 9743,
    "dys": 91,
    "avg_per_day": 107
}, {
    "agg_fq": "2014 - FQ4",
    "quarterly_sum": 8294,
    "dys": 92,
    "avg_per_day": 90
}

为该行绘制的数据是dys属性。值介于90100之间,但图表标签显示0 - 1.0。我已尝试查看标签的renderer,但它显示的是相同的问题且值不正确。

这是我定义的图表:

{
    xtype: 'cartesian',
    store: store,
    width: 400,
    height: 400,
    axes: [{
        type: "category",
        postion: "bottom",
        fields: "agg_fq",
        title: "Quarters",
        label: {
            rotate: {
                degrees: -45
            }
        }
    }, {
        type: "numeric",
        position: "right",
        grid: true,
        fields: ["avg_per_day"],
        title: "Emails"
    }, {
        type: "numeric",
        position: "left",
        title: "Days in Qtr",
        fields: ["dys"],
        renderer: function(value) {
            console.log(value);
        }
    }],
    series: [{
        type: "bar",
        axis: "right",
        xField: "agg_fq",
        yField: ["avg_per_day"],
        stacked: false
    }, {
        type: "line",
        axis: "left",
        xField: "agg_fq",
        yField: ["dys"]

    }]
}

这是Sencha Fiddle with the issue

1 个答案:

答案 0 :(得分:3)

在搞乱代码之后,我发现了这个问题。 yField系列中的line显然会导致问题,如果它是一个数组。将系列更改为以下内容将解决问题:

{
    type: "line",
    axis: "left",
    xField: "agg_fq",
    yField: "dys"
}

这是一个Sencha Fiddle with the fix