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>http://www.lxweimin.com/p/971ef68584a9</u>

O????j

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,156評論 6 531
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,401評論 3 415
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,069評論 0 373
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,873評論 1 309
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,635評論 6 408
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,128評論 1 323
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,203評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,365評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 48,881評論 1 334
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,733評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,935評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,475評論 5 358
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,172評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,582評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,821評論 1 282
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,595評論 3 390
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,908評論 2 372

推薦閱讀更多精彩內容

  • 發現 關注 消息 iOS 第三方庫、插件、知名博客總結 作者大灰狼的小綿羊哥哥關注 2017.06.26 09:4...
    肇東周閱讀 12,151評論 4 61
  • 前言 公司的項目中需要對數據做可視化處理,高級點的D3.js目前還沒接觸到,因此選用了大眾化的Echarts, 在...
    Mr_Treasure閱讀 165,617評論 8 44
  • 其一 欲尋勝景太行邊,險峻群峰入長天; 綠樹前頭遮日蔽,遙看芳草沒鮮妍。 其二 扎根陌野與荒山,素雅何須意訕訕; ...
    清凈菩提閱讀 1,316評論 0 0
  • 當你決定策劃開展一個活動時,與此同時,也意味著許許多多未知的問題會向你撲面而來。作為一個策劃者,一個活動的負責人,...
    寧小南閱讀 900評論 0 1
  • “快樂的婚姻,很少是機會的產物,它們就像建筑,必須是有理智的,用心設計過的。”現代社會中,感情生活似乎成了個人生命...
    宏英閱讀 235評論 0 0