vue+echart的使用

1,加载资源包,引入资源

文档

image.png

2,页面结构

image.png

3,在methods里面定义方法

饼图:


image.png
image.png

上面一个饼图对应的echarts属性值:

    var option = {
            color: ['#47B3FF', '#EEF1F7'],
            title: {
                    text: '20%',
                    x: 'center',
                    y: 'center',
                    textStyle : {
                        color : 'rgba(0,0,0,0.6)',
                        fontSize : 16,
                        fontWeight : 'bolder'
                    }
                },
             series : [
                  {
                     type : 'pie',
                     center : ['50%', '50%'], //饼图的位置放在整个外部的中间
                     radius : [35, 45], //内环外环的半径
                     itemStyle : {
                           normal: {
                              label: {show:false},
                              labelLine: {show:false}
                            },
                      },
                      data : [
                           {value: 5, name:''},
                           {value: 15, name:''}
                       ] 
                    },
                ]
            }

4,在updated 生命周期里面调用 方法绘图

image.png

5,例子

饼图:

image.png

获取页面节点:

let myChart = echarts.init(document.getElementById("echarts-dom"));

属性值:

  var option = {
        color: ['#47B3FF', '#39E4C9'],
        title: {
                text: -6868.32 + '㎡',  //主标题
                subtext: '月度变化',  //副标题
                x: 'center',
                y: 'center',
                textStyle : {
                    color : 'rgba(0,0,0,0.6)',
                    fontSize : 16,
                    fontWeight : 'bolder'
                },
                formatter: function(val){
                    return "200"
                }
        },
        series : [
            {
                type : 'pie',
                center : ['50%', '50%'],
                radius : [50, 55],
                itemStyle : {
                    normal: {
                        label: {show:false},
                        labelLine: {show:false}
                    },
                 },
                 data : [
                    {value: 6868.32,name:""},
                    {value: 0,name:""}
                ] 
              },
        ]
     };

绘图:

 myChart.setOption(option);
折线图
image.png

属性值:

   let   option = {
            tooltip : {      //设置悬浮出来的数据及结构
                trigger: 'axis',
                show: true,
                formatter: function (val) {   //val.data  是 data这个数组  里面当前悬浮的数字作为下标 对应到data 的一个对象  
                    return val[0].data.date + '</br>'+ val[0].data.value+'%';    //return 是鼠标悬浮着显示的数据及结构
                }
             },
             calculable : true,
             xAxis : [
                {
                    type : 'category',
                    boundaryGap : false,
                    data : ['2018-12-09', '2018-12-10'],  //横坐标的值
                    splitLine: {
                        show: false
                    }
                }
             ],
            yAxis : [
                {
                    type : 'value',
                    axisLabel: {
                        formatter: '{value}%'
                    },
                    splitLine: {
                        show: false
                    }
                }
            ],
            grid:{
                left: '60',
            },
            series : [
                {
                    name:'入驻率',
                    type:'line',
                    smooth:true,
                    itemStyle: {
                          normal: {
                             areaStyle: {
                                    type: 'default',
                                    color: '#D9EFFC',
                              },
                              lineStyle: {
                                    color: '#88CEFE',
                              }
                          }
                     },
                     data: [
                               {
                                   value:  20,
                                   date: '2018-12-09'
                               },
                               {
                                   value:  30,
                                   date: '2018-12-10'
                               }
                     ]
                    },
                ]
            }

柱状图

image.png
image.png

属性值:

    let option = {
                    tooltip : {
                        trigger: 'axis',
                        axisPointer : {            // 坐标轴指示器,坐标轴触发有效
                            type : 'shadow'        // 默认为直线,可选为:'line' | 'shadow'
                        },
                        formatter: function (val) {   //鼠标悬浮柱子显示本条柱状的基础数据
                            let text = '',
                                storename = val[0].name,
                                value = val[0].data.value + '%',
                                change =val[0].data.changeval;  

                                text = storename + ': ' + value + '<br />' + "比昨日 ";

                                if(change > 0){
                                    text += '<span style="color:#FFC267">新增</span> '+change+'%';
                                }else if(change == 0){
                                    text += '无变化';
                                }else if(change < 0){
                                    text += '<span style="color:#FF2B2B">减少</span> '+(-change)+'%';
                                }

                            return text;
                        }
                    },
                    grid:{
                        left: '40',
                        y2: 120
                    },
                    xAxis : [
                        {
                            type : 'category',
                            nameTextStyle:{
                                fontSize: '10',
                            },
                            axisLabel:{
                                
                                formatter: function (value) {
                                    //x轴的文字改为竖版显示
                                    var str = value.split("");
                                    return str.join("\n");
                                },
                            },
                            data : ['星湖岛', '星苏岛'],
                            // axisTick: {
                            //  alignWithLabel: true
                            // }
                        }
                    ],
                    yAxis :[
                        {
                         type : 'value',
                         axisLabel: {
                             formatter: '{value}%'
                         },
                         splitLine: {
                            show: false
                         }
                        }
                    ],
                    series : [
                        {
                            name: '门店入驻率',
                            type:'bar',
                            barWidth: 18, 
                            barCategoryGap: '1%',  // 系列级个性化,柱形宽度
                            itemStyle: {
                                normal: {     // 系列级个性化,横向渐变填充
                                    borderRadius: 5,
                                    color : '#46B3FF',
                                    label : {
                                        show : true,
                                        textStyle : {
                                            fontSize : '15',
                                            fontFamily : '微软雅黑',
                                            //fontWeight : 'bold'
                                            color: 'black',
                                        },
                                    
                                        formatter:function(params){  //设置柱状图上的数字0显示 非0不显示数字
                                            if(params.value == 0){
                                                return params.value;
                                            }else{
                                                return '';
                                            }
                                        }
                                    }
                                }
                            },
                            data: [
                                     {value: 100,  changeval: 20}
                                     {value: 90,  changeval: -1}
                            ],
                        },
                    ]
                };
切换城市 柱状图的图形发生改变
image.png

这里的切换利用vue的数据驱动视图的特点 但有个问题是图形先画好了 改变数据出现的图形不自适应页面 所以这里
对数据进行判断 1,设置图形的外部宽度 2,重新绘制柱状图


image.png

image.png
image.png
资源收集

柱状图:

<u>http://www.echartsjs.com/examples/editor.html?c=line-simple</u>

饼图:

<u>http://gallery.echartsjs.com/editor.html?c=xWFEbXAc2P</u>

资源文档:

<u>http://echarts.baidu.com/echarts2/doc/example.html</u>

属性文档:

添加交互事件:

<u>https://www.cnblogs.com/zhenghengbin/p/7258378.html</u>

<u>https://blog.csdn.net/qq_27098879/article/details/80180038</u>

解决数据获取加载问题

<u>https://blog.csdn.net/szw_18583757301/article/details/80976463</u>

财务小程序端tapd:

<u>https://www.tapd.cn/31858311/prong/iterations/view/1131858311001000052?url_cache_key=d21a8d735de60f68085f578dfab6c97a#tab=StoryandTask</u>

统计看板接口文档:

<u>https://www.tapd.cn/31858311/markdown_wikis/view/#1131858311001001990</u>

小程序文件上传:

<u>https://www.jianshu.com/p/971ef68584a9</u>

O�?��j

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

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 11,635评论 4 59
  • 前言 公司的项目中需要对数据做可视化处理,高级点的D3.js目前还没接触到,因此选用了大众化的Echarts, 在...
    Mr_Treasure阅读 164,598评论 8 44
  • 其一 欲寻胜景太行边,险峻群峰入长天; 绿树前头遮日蔽,遥看芳草没鲜妍。 其二 扎根陌野与荒山,素雅何须意讪讪; ...
    清净菩提阅读 1,215评论 0 0
  • 当你决定策划开展一个活动时,与此同时,也意味着许许多多未知的问题会向你扑面而来。作为一个策划者,一个活动的负责人,...
    宁小南阅读 850评论 0 1
  • “快乐的婚姻,很少是机会的产物,它们就像建筑,必须是有理智的,用心设计过的。”现代社会中,感情生活似乎成了个人生命...
    宏英阅读 204评论 0 0