Echarts绘制图表,折线图、柱状图、饼图

引入echarts
import * as echarts from "echarts";

折线图:

// 绘制折线图
drawLineChart() {
    // 初始化
    let myChart = echarts.init(document.getElementById('line-box'));
    let options = {
        title: {
            subtext: '折线图',
            right: 20,
            top: 40,
        },
        tooltip: {
            confine: true,
        },
        legend: {
            right: 20,
            top: 25,
            color: '#0ff',
            fontSize: 12,
            data: ['年龄'],
            show: true,
        },
        xAxis: [
            {
                type: 'category',
                data: ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级'],
            }
        ],
        yAxis: [
            {
                type: 'value',
                name: '单位: 岁',
                min: 0,
                max: 20,
                interval: 2,
            },
            // 第二个y轴
            {
                type: 'value',
                name: '单位: 岁',
                min: 0,
                max: 30,
                interval: 5,
            }
        ],
        series: [
            {
                name: '年龄',
                color: '#0ff',
                type: 'line',
                data: [7, 8, 9, 10, 11, 12],
                // 辅助线
                markLine: {
                    data: [
                        {
                            name: '平均线',
                            type: 'average',
                            yAxis: 10,
                            itemStyle: {
                                color: '#f0f',
                            }
                        }
                    ]
                },
                // 最大值、最小值
                markPoint: {
                    data: [
                        {
                            type: 'max',
                            name: '最大值',
                            itemStyle: {
                                color: '#0f0',
                            }
                        },
                        {
                            type: 'min',
                            name: '最小值',
                            itemStyle: {
                                color: '#0f0',
                            }
                        }
                    ]
                },
            }
        ]
    }
    myChart && myChart.setOption(options);
},

折线图效果:

echarts-折线图.gif

柱状图:

        // 绘制柱状图
        drawBarChart() {
            // 初始化
            let myChart = echarts.init(document.getElementById('bar-box'));
            let options = {
                title: {
                    subtext: '柱状图',
                    right: 20,
                    top: 40,
                },
                tooltip: {
                    confine: true,
                },
                legend: {
                    right: 20,
                    top: 25,
                    color: '#0ff',
                    fontSize: 12,
                    data: ['年龄'],
                    show: true,
                },
                xAxis: [
                    {
                        type: 'category',
                        data: ['一年级', '二年级', '三年级', '四年级', '五年级', '六年级'],
                    }
                ],
                yAxis: [
                    {
                        type: 'value',
                        name: '单位: 岁',
                        min: 0,
                        max: 20,
                        interval: 2,
                    },
                    // 第二个y轴
                    {
                        type: 'value',
                        name: '单位: 岁',
                        min: 0,
                        max: 30,
                        interval: 5,
                    }
                ],
                series: [
                    {
                        name: '年龄',
                        color: '#0ff',
                        type: 'bar',
                        data: [7, 8, 9, 10, 11, 12],
                        // 辅助线
                        markLine: {
                            data: [
                                {
                                    name: '平均线',
                                    type: 'average',
                                    yAxis: 10,
                                    itemStyle: {
                                        color: '#f0f',
                                    }
                                }
                            ]
                        },
                        // 最大值、最小值
                        markPoint: {
                            data: [
                                {
                                    type: 'max',
                                    name: '最大值',
                                    itemStyle: {
                                        color: '#0f0',
                                    }
                                },
                                {
                                    type: 'min',
                                    name: '最小值',
                                    itemStyle: {
                                        color: '#0f0',
                                    }
                                }
                            ]
                        },
                    }
                ]
            }
            myChart && myChart.setOption(options);
        },

柱状图效果:

echarts-柱状图.gif

饼图:

        // 绘制饼图
        drawPieChart() {
            // 初始化
            let myChart = echarts.init(document.getElementById('pie-box'));
            let options = {
                title: {
                    subtext: '饼图',
                    right: 20,
                    top: 40,
                },
                tooltip: {
                    confine: true,
                },
                legend: {
                    right: 20,
                    top: 25,
                    color: '#0ff',
                    fontSize: 12,
                    show: true,
                },
                series: [
                    {
                        name: '分数',
                        color: ['#0ff', '#f90', '#ff0'],
                        type: 'pie',
                        // 圆环
                        radius: ['50%', '80%'],
                        label: {
                            show: true,
                            formatter: (v) => {
                                return `${v.name}: ${v.value}分`;
                            }
                        },
                        data: [
                            {
                                name: '数学',
                                value: 89,
                            },
                            {
                                name: '语文',
                                value: 76,
                            },
                            {
                                name: '英语',
                                value: 56,
                            }
                        ],
                    }
                ]
            }
            myChart && myChart.setOption(options);
        },

饼图效果:

echarts-饼图.gif

调用方法:

    mounted() {
        this.$nextTick(() => {
            this.drawLineChart();
            this.drawBarChart();
            this.drawPieChart();
        })
    },

dom结构

<div class="echarts-view">
    折线图
    <div id="line-box"></div>
    <hr>
    柱状图
    <div id="bar-box"></div>
    <hr>
    饼图
    <div id="pie-box"></div>
</div>

css

#line-box,
#bar-box,
#pie-box {
    width: 100%;
    height: 300px;
}
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 195,018评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 82,046评论 2 372
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 142,215评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,303评论 1 266
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,181评论 4 357
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,171评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,577评论 3 384
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,260评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,546评论 1 292
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,630评论 2 311
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,390评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,260评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,633评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,920评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,210评论 1 251
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,569评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,767评论 2 335

推荐阅读更多精彩内容