天天看点

ExtJS6图表简单demo(折线图,散点图,柱状图)ExtJS6图表简单demo(折线图,散点图,柱状图)

ExtJS6图表简单demo(折线图,散点图,柱状图)

首先需要引入这三个文件,都懂

<link rel="stylesheet" type="text/css" href="build/classic/theme-triton/resources/theme-triton-all.css" />
        <script type="text/javascript" src="build/ext-all.js">
        </script>
        <script type="text/javascript" src="build/packages/charts/classic/charts.js">
           
ExtJS6图表简单demo(折线图,散点图,柱状图)ExtJS6图表简单demo(折线图,散点图,柱状图)

官方demo(把线宽度调0就是散点图了吧)

<script type="text/javascript">
            Ext.onReady(function() {
                Ext.create('KitchenSink.view.charts.line.Basic', {
                    renderTo: Ext.getBody()
                });
            });
            Ext.define('KitchenSink.view.charts.line.Basic', {
                extend: 'Ext.Panel',
                xtype: 'line-basic',
                controller: 'line-basic',
                width: ,
                items: {
                    xtype: 'cartesian',
                    reference: 'chart',
                    width: '100%',
                    height: ,
                    interactions: {
                        type: 'panzoom',
                        zoomOnPanGesture: true
                    },
                    store: {
                        type: 'browsers'
                    },
                    insetPadding: ,
                    innerPadding: {
                        left: ,
                        right: 
                    },
                    sprites: [{
                        type: 'text',
                        text: '邰志敏上标',
                        fontSize: ,
                        width: ,
                        height: ,
                        x: , // the sprite x position
                        y:  // the sprite y position
                    }, {
                        type: 'text',
                        text: '邰志敏水印',
                        fontSize: ,
                        x: ,
                        y: 
                    }, {
                        type: 'text',
                        text: '邰志敏数据支持',
                        fontSize: ,
                        x: ,
                        y: 
                    }],
                    axes: [{
                        type: 'numeric',
                        position: 'left',
                        grid: true,
                        minimum: ,
                        maximum: , //这里设置百分比
                        renderer: 'onAxisLabelRender'
                    }, {
                        type: 'category',
                        position: 'bottom',
                        grid: true,
                        label: {
                            rotate: {
                                degrees: -
                            }
                        }
                    }],
                    series: [{
                        type: 'line',
                        xField: 'month',
                        yField: 'data1',
                        style: {
                            lineWidth:  //线的宽度
                        },
                        marker: {
                            radius:  //散点的radius
                        },
                        label: {
                            field: 'data1',
                            display: 'over'
                        },
                        highlight: {
                            fillStyle: '#000',
                            radius: ,
                            lineWidth: ,
                            strokeStyle: '#fff'
                        },
                        tooltip: {
                            trackMouse: true,
                            showDelay: ,
                            dismissDelay: ,
                            hideDelay: ,
                            renderer: 'onSeriesTooltipRender'
                        }
                    }]
                },

                tbar: ['->', {
                    text: '预览',
                    handler: 'onPreview'
                }]

            });
            Ext.define('KitchenSink.view.charts.line.BasicController', {
                extend: 'Ext.app.ViewController',
                alias: 'controller.line-basic',

                onAxisLabelRender: function(axis, label, layoutContext) {
                    // Custom renderer overrides the native axis label renderer.
                    // Since we don't want to do anything fancy with the value
                    // ourselves except appending a '%' sign, but at the same time
                    // don't want to loose the formatting done by the native renderer,
                    // we let the native renderer process the value first.
                    return layoutContext.renderer(label) + '%';
                },

                onSeriesTooltipRender: function(tooltip, record, item) {
                    tooltip.setHtml(record.get('month') + ': ' + record.get('data1') + '%');
                },

                onPreview: function() {
                    var chart = this.lookupReference('chart');
                    chart.preview();
                }

            });
            Ext.define('KitchenSink.store.Browsers', {
                extend: 'Ext.data.Store',
                alias: 'store.browsers',

                //                   IE    Firefox  Chrome   Safari
                fields: ['month', 'data1', 'data2', 'data3', 'data4', 'other'],

                constructor: function(config) {
                    config = config || {};

                    config.data = [{
                        month: '一月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '二月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '三月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '四月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '五月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '六月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '七月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '八月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '九月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '十月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '十一月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }, {
                        month: '十二月',
                        data1: ,
                        data2: ,
                        data3: ,
                        data4: ,
                        other: 
                    }];

                    this.callParent([config]);
                }

            });
        </script>
           

-柱状图

ExtJS6图表简单demo(折线图,散点图,柱状图)ExtJS6图表简单demo(折线图,散点图,柱状图)
<script type="text/javascript">
            Ext.onReady(function() {
                Ext.define('WeatherPoint', {
                    extend: 'Ext.data.Model',
                    fields: ['temperature', 'date']
                });
                var store = new Ext.data.JsonStore({
                    fields: ['name', 'visits', 'views'],
                    data: [{
                        name: '日本',
                        visits: ,
                        views: 
                    }, {
                        name: '韩国',
                        visits: ,
                        views: 
                    }, {
                        name: '泰国',
                        visits: ,
                        views: 
                    }, {
                        name: '伊朗',
                        visits: ,
                        views: 
                    }, {
                        name: '法国',
                        visits: ,
                        views: 
                    }, {
                        name: '德国',
                        visits: ,
                        views: 
                    }, {
                        name: '中国',
                        visits: ,
                        views: 
                    }]
                });

                Ext.create('Ext.chart.Chart', {
                    renderTo: Ext.getBody(),
                    width: ,
                    height: ,
                    store: store,
                    //
                    axes: [{
                        type: 'numeric',
                        position: 'left',
                        title: 'DGP总量',
                        grid: {
                            odd: {
                                opacity: ,
                                fill: '#ddd',
                                stroke: '#bbb',
                                lineWidth: 
                            }
                        },
                        minimum: 
                    }, {
                        type: 'category',
                        position: 'bottom',
                        label: {
                            rotate: {
                                degrees: 
                            }
                        }
                    }],
                    //series负责画线
                    //叠加显示
                    /*series: [{
                        type: 'bar',
                        xField: 'name',
                        yField: ['visits', 'views']
                    }],*/
                    //单独显示
                    series: {
                        type: 'bar',
                        stacked: false,
                        title: ['Previous Year', 'Current Year'],
                        xField: 'name',
                        yField: ['visits', 'views'],
                        label: {
                            field: ['visits', 'views'],
                            display: 'insideEnd',
                            renderer: 'onSeriesLabelRender'
                        },
                        highlight: true,
                        style: {
                            //柱子间距离
                            inGroupGapWidth: 
                        }
                    }
                    //theme: 'Green',
                });

            });
        </script>
           

折线图

ExtJS6图表简单demo(折线图,散点图,柱状图)ExtJS6图表简单demo(折线图,散点图,柱状图)
<script type="text/javascript">
            Ext.onReady(function() {
                Ext.define('WeatherPoint', {
                    extend: 'Ext.data.Model',
                    fields: ['temperature', 'date']
                });
                var store = Ext.create('Ext.data.Store', {
                    model: 'WeatherPoint',
                    data: [{
                        temperature: ,
                        date: new Date(, , , )
                    }, {
                        temperature: ,
                        date: new Date(, , , )
                    }, {
                        temperature: ,
                        date: new Date(, , , )
                    }, {
                        temperature: ,
                        date: new Date(, , , )
                    }, {
                        temperature: ,
                        date: new Date(, , , )
                    }]
                });

                Ext.create('Ext.chart.Chart', {
                    renderTo: Ext.getBody(),
                    width: ,
                    height: ,
                    store: store,
                    //
                    axes: [{
                        title: 'Temperature',
                        type: 'numeric',
                        position: 'left',
                        fields: ['temperature'],
                        minimum: ,
                        maximum: 
                    }, {
                        title: 'Time',
                        type: 'time',
                        position: 'bottom',
                        fields: ['date'],
                        groupBy: 'hour',
                        dateFormat: 'ga'
                    }],
                    //series负责画线
                    series: [{
                        type: 'line',
                        xField: 'date',
                        yField: 'temperature'
                    }],
                    theme: 'Green',
                });

            });
        </script>