首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >extjs6图表,动态创建多条线

extjs6图表,动态创建多条线
EN

Stack Overflow用户
提问于 2018-08-15 04:07:11
回答 1查看 285关注 0票数 1

我在使用ExtJs6折线图时遇到了一些非常简单的问题。我试着画两个用仪器分开的级数。如果你看我下面的数据,应该有2行,1行代表crudeOil,1行代表黄金。我想让日期在图表的底部,CumulativePl沿着左边的Y轴。

我不知道如何将这些动态添加到我的图表中。任何帮助都是非常感谢的!我可以把pl放在yaxis上,把filedate放在xaxis上,但它在一行中,没有被工具分隔。

这是我的数据存储。

代码语言:javascript
复制
    store1.add({
        Filedate: '2018-08-10',
        Instrument: 'crudeOil',
        CumulativePl: 999
    });

    store1.add({
        Filedate: '2018-08-11',
        Instrument: 'crudeOil',
        CumulativePl: 1200
    });

    store1.add({
        Filedate: '2018-08-10',
        Instrument: 'gold',
        CumulativePl: 500
    });

    store1.add({
        Filedate: '2018-08-11',
        Instrument: 'gold',
        CumulativePl: 700
    });

更新...根据响应,我需要为我想要绘制图形的每个线系列创建一个存储。因此,现在我正在按乐器对我的商店进行分组,我将需要为商店中的每个乐器创建一个新的商店,我对如何做感到困惑。//分组存储,每个分组

代码语言:javascript
复制
    myStore.group('instrument');
    myStore.getGroups().each(function (group, i) {

        debugger;
        //create store here

        group.each(function (record) {
            //foreach item in group, populate store
            debugger;
        });

        //create series of data from newly created store
        //add series to chart
    });

enter code here
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-08-15 07:00:17

只需为每个系列创建两个独立的存储,如下所示:

代码语言:javascript
复制
Ext.application({
    name: 'Fiddle',

    launch: function() {
        var me = this;

        var storeOil = Ext.create('Ext.data.Store', {
            fields: [{
                name: 'Filedate',
                type: 'date',
                dateFormat: 'Y-m-d'
            }, {
                name: 'Instrument',
                type: 'string'
            },
            {
                name: 'CumulativePl',
                type: 'float'
            }],
            data: [{
                "Filedate": '2018-08-10',
                "Instrument": 'crudeOil',
                "CumulativePl": 999
            }, {
                "Filedate": '2018-08-11',
                "Instrument": 'crudeOil',
                "CumulativePl": 1200
            }]
        });

        var storeGold = Ext.create('Ext.data.Store', {
            fields: [{
                name: 'Filedate',
                type: 'date',
                dateFormat: 'Y-m-d'
            }, {
                name: 'Instrument',
                type: 'string'
            },
            {
                name: 'CumulativePl',
                type: 'float'
            }],
            data: [{
                "Filedate": '2018-08-10',
                "Instrument": 'gold',
                "CumulativePl": 500
            }, {
                "Filedate": '2018-08-11',
                "Instrument": 'gold',
                "CumulativePl": 700
            }]
        });



        Ext.create('Ext.panel.Panel', {
            title: 'Hello',
            width: '100%',
            renderTo: Ext.getBody(),
            items: [{
                xtype: 'cartesian',
                width: '100%',
                height: 500,

                insetPadding: 40,
                innerPadding: {
                    left: 40,
                    right: 40
                },
                axes: [{
                    type: 'numeric',
                    fields: 'CumulativePl',
                    position: 'left',
                    grid: true,
                    minimum: 0
                }, {
                    type: 'time',
                    fields: 'Filedate',
                    position: 'bottom',
                    grid: true,
                    label: {
                        rotate: {
                            degrees: -40
                        }
                    }
                }],
                series: [{
                    type: 'line',
                    store: storeGold,
                    xField: 'Filedate',
                    yField: 'CumulativePl'

                },{
                    type: 'line',
                    store: storeOil,
                    xField: 'Filedate',
                    yField: 'CumulativePl'


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

https://stackoverflow.com/questions/51849032

复制
相关文章

相似问题

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