Echart使用總結(jié)

水監(jiān)測圖表.gif

1沪铭、項(xiàng)目中用到的一些屬性

const options = {
            grid: {// 柱狀圖位置
              top: '15px',
              left: '0',
              right: '0',
              bottom: '10px',
              containLabel: true
            },
            dataZoom: {
              type: 'inside'//隱式滾動(dòng)條:即不顯示滾動(dòng)條描沟,通過鼠標(biāo)滾動(dòng)來縮放縮放柱形圖間距,來查看所有的柱形圖
              /**顯示滾動(dòng)條膳汪,可設(shè)置其顯示位置椒功,滾動(dòng)條開始位置彭沼、結(jié)束位置廉侧,寬肖方,高等*/
              // show: true,
              // realtime: true,
              // bottom: '2px',
              // left:'20px',
              // right:'20px',
              // height: 8,
              // start:0,
              // end:100,
              // textStyle:{
              //   color: '#fff'
              // }
            },
            tooltip: {// 鼠標(biāo)滑上去顯示效果
              trigger: 'axis',
              // formatter : function(params){
                    // var res = 'success';  //可以在這個(gè)方法中改變鼠標(biāo)滑上去顯示的內(nèi)容
                    // return res;
              // },
              // axisPointer : {            // 坐標(biāo)軸指示器,坐標(biāo)軸觸發(fā)有效
              //     type : 'line'        // 默認(rèn)為直線非洲,可選為:'line' | 'shadow'
              // }
            },
            xAxis: {
              name:'PH',//橫軸名稱
              type: 'category',
              boundaryGap: false,
              color: '#fff',
              data: xdata,
              axisLabel: {//橫軸標(biāo)簽樣式設(shè)置
                show: this.queryType==2?true:false,//控制標(biāo)簽顯示
                interval:0,
                textStyle: {
                  color: '#fff', // 更改坐標(biāo)軸文字顏色
                  fontSize: 10// 更改坐標(biāo)軸文字大小
                },
                // formatter:function(value,index) {//設(shè)置橫軸坐標(biāo)文字每行顯示個(gè)數(shù)鸭限,超出換行
                //   var ret = "";//拼接加\n返回的類目項(xiàng)
                //   var maxLength = 10;//每項(xiàng)顯示文字個(gè)數(shù)
                //   var valLength = value.length;//X軸類目項(xiàng)的文字個(gè)數(shù)
                //   var rowN = Math.ceil(valLength / maxLength); //類目項(xiàng)需要換行的行數(shù)
                //   if (rowN > 1)//如果類目項(xiàng)的文字大于3,
                //   {
                //     for (var i = 0; i < rowN; i++) {
                //       var temp = "";//每次截取的字符串
                //       var start = i * maxLength;//開始截取的位置
                //       var end = start + maxLength;//結(jié)束截取的位置
                //       //這里也可以加一個(gè)是否是最后一行的判斷,但是不加也沒有影響两踏,那就不加吧
                //       temp = value.substring(start, end) + "\n";
                //       ret += temp; //憑借最終的字符串
                //     }
                //     return ret;
                //   }
                //   else {
                //     return value;
                //   }
                // }
              },
              axisLine: {// x軸樣式
                show: true,
                lineStyle: {
                  color: 'rgba(242,242,242,.2)',
                  width: 1,
                  type: 'solid'
                }
              }
              // ,axisTick: {length:220}
            },
            yAxis: {
              type: 'value',
              axisLabel: {
                textStyle: {
                  color: '#fff', // 更改坐標(biāo)軸文字顏色
                  fontSize: 12// 更改坐標(biāo)軸文字大小
                }
              },
              axisLine: {// x軸樣式
                show: true,
                lineStyle: {
                  color: 'rgba(242,242,242,.2)',
                  width: 1,
                  type: 'solid'
                }
              },
              splitLine: {// 格線樣式
                lineStyle: {
                  color: 'rgba(242,242,242,.2)'
                }
              }
            },
            series: [{
              data: ydata,
              type: 'line',//折線圖
              showAllSymbol:true,//顯示所有折線點(diǎn)
              symbol:(val,param)=>{//根據(jù)值判斷點(diǎn)是否顯示以及點(diǎn)的顯示類型
                if(this.queryType==1){
                  if(param.dataIndex%4==0){
                    return 'emptyCircle'
                  }else{
                    return 'none'
                  }
                }
                return 'emptyCircle'
              }, //折線點(diǎn)設(shè)置為實(shí)心點(diǎn)
              symbolSize: 12, // 折線點(diǎn)的大小
              showBackground: true,
              backgroundStyle: {
                color: 'rgba(220, 220, 220, 0.8)'
              },
              areaStyle: {},
              itemStyle: {// 柱樣式
                normal: {
                  label:{
                    // show:true,
                    color: '#fff'
                  },
                  lineStyle: {
                    color: '#16B7FF', // 折線的顏色
                    width: 2,
                    type: 'solid'// 'dotted'虛線 'solid'實(shí)線
                  },
                  borderColor: '#1EB0FC',
                  color: new echarts.graphic.LinearGradient(//折線顯示顏色败京,可設(shè)置漸變色
                    0, 0, 0, 1,
                    [
                      // {offset: 0, color: '#44F0FF'},
                      { offset: 0, color: '#42E9F8' },
                      { offset: 0.7, color: '#122C45' },
                      { offset: 1, color: '#021132' }
                    ]
                  ),
                  opacity: 1
                }
              }
            }]
          }

2、echart初始化的時(shí)候獲取不到節(jié)點(diǎn)

這是因?yàn)轫撁鎑om節(jié)點(diǎn)未初始化完成梦染,所以可能會拿不到dom節(jié)點(diǎn)赡麦,可以用下面vue方法等待節(jié)點(diǎn)渲染完成或者setTimeout加一個(gè)延時(shí)獲取該節(jié)點(diǎn)

this.$nextTick(() => {
  this.domTop = echarts.init(document.getElementById('water-chart-top'))
})

3、echart渲染的canvas高度帕识,寬度為0

有時(shí)候需要?jiǎng)討B(tài)的渲染echart泛粹,會用到用vue的v-show或者v-if語法,這時(shí)候會遇到寬高為0的情況肮疗。寬度設(shè)置100%,內(nèi)部會把100%轉(zhuǎn)化為100px哦(自行了解)晶姊。這時(shí)候你可以在頁面初始化的時(shí)候獲取一個(gè)在頁面一直顯示的父級節(jié)點(diǎn)的高度。然后在echart渲染的時(shí)候重新設(shè)置寬高

created() {
     //頁面渲染的時(shí)候伪货,獲取一個(gè)頁面存在的父級節(jié)點(diǎn)的寬高
     var container=document.getElementById('app')
     this.height=container.offsetHeight-97
     this.width=container.offsetWidth
 },
...
//echart圖表v-show為true的時(shí)候重新設(shè)置寬高
this.line_echart=echarts.init(document.getElementById('line-echart'))
this.line_echart.resize({height:this.height-40,width:this.width})

4们衙、echart圖表出現(xiàn)之前的縱軸數(shù)據(jù)

當(dāng)你的縱軸數(shù)據(jù)是動(dòng)態(tài)變化的時(shí)候,圖表數(shù)據(jù)需要更新碱呼,有時(shí)候會出現(xiàn)之前的數(shù)據(jù)沒有消失蒙挑,和當(dāng)前的數(shù)據(jù)混合在一起展示。這時(shí)候可以在給你圖表設(shè)置配置項(xiàng)的時(shí)候愚臀,加個(gè)true就可以解決這個(gè)問題忆蚀。

this.line_echart.setOption(option,true)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市姑裂,隨后出現(xiàn)的幾起案子馋袜,更是在濱河造成了極大的恐慌,老刑警劉巖炭分,帶你破解...
    沈念sama閱讀 206,311評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件桃焕,死亡現(xiàn)場離奇詭異,居然都是意外死亡捧毛,警方通過查閱死者的電腦和手機(jī)观堂,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,339評論 2 382
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來呀忧,“玉大人师痕,你說我怎么就攤上這事《耍” “怎么了胰坟?”我有些...
    開封第一講書人閱讀 152,671評論 0 342
  • 文/不壞的土叔 我叫張陵,是天一觀的道長泞辐。 經(jīng)常有香客問我笔横,道長竞滓,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,252評論 1 279
  • 正文 為了忘掉前任吹缔,我火速辦了婚禮商佑,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘厢塘。我一直安慰自己茶没,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 64,253評論 5 371
  • 文/花漫 我一把揭開白布晚碾。 她就那樣靜靜地躺著抓半,像睡著了一般。 火紅的嫁衣襯著肌膚如雪格嘁。 梳的紋絲不亂的頭發(fā)上笛求,一...
    開封第一講書人閱讀 49,031評論 1 285
  • 那天,我揣著相機(jī)與錄音讥蔽,去河邊找鬼涣易。 笑死,一個(gè)胖子當(dāng)著我的面吹牛冶伞,可吹牛的內(nèi)容都是我干的新症。 我是一名探鬼主播,決...
    沈念sama閱讀 38,340評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼响禽,長吁一口氣:“原來是場噩夢啊……” “哼徒爹!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起芋类,我...
    開封第一講書人閱讀 36,973評論 0 259
  • 序言:老撾萬榮一對情侶失蹤隆嗅,失蹤者是張志新(化名)和其女友劉穎,沒想到半個(gè)月后侯繁,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體胖喳,經(jīng)...
    沈念sama閱讀 43,466評論 1 300
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 35,937評論 2 323
  • 正文 我和宋清朗相戀三年贮竟,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丽焊。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 38,039評論 1 333
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡咕别,死狀恐怖技健,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情惰拱,我是刑警寧澤雌贱,帶...
    沈念sama閱讀 33,701評論 4 323
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響欣孤,放射性物質(zhì)發(fā)生泄漏馋没。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,254評論 3 307
  • 文/蒙蒙 一导街、第九天 我趴在偏房一處隱蔽的房頂上張望披泪。 院中可真熱鬧纤子,春花似錦搬瑰、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,259評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至卡乾,卻和暖如春翼悴,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背幔妨。 一陣腳步聲響...
    開封第一講書人閱讀 31,485評論 1 262
  • 我被黑心中介騙來泰國打工鹦赎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人误堡。 一個(gè)月前我還...
    沈念sama閱讀 45,497評論 2 354
  • 正文 我出身青樓古话,卻偏偏與公主長得像,于是被迫代替她去往敵國和親锁施。 傳聞我的和親對象是個(gè)殘疾皇子陪踩,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 42,786評論 2 345