vue echart 背景圖片 x軸格式加圖片

效果

這個(gè)折線圖的背景是一張自定義的圖片(并非在echart外的盒子設(shè)置背景圖):位置,開(kāi)頭定義圖片然后在options的backgroundColor引用定義好的背景圖片,

x軸的也是圖片+文字:位置在戳护,xAxis.axisLabel.formatter設(shè)置x軸顯示格式匹颤,然后在xAxis.axisLabel.rich定義坐標(biāo)軸用到的所有圖片

直接上代碼楚堤,先上車或油,有空再解釋

getEchartData1() {

//背景圖族操,先定義一個(gè)圖片锐峭,這個(gè)就是你要設(shè)置的背景圖
            var img = new Image();
            img.src = '../../../static/img/tendaybg.png';
            // img.width = '300px';
            // img.height="500px";
            // img.height ='100%';



              //顯示容器
              // this.open=true;
              // 加載圖表
              const chart1 = this.$refs.chart1;
              if (chart1) {
              const myChart = this.$echarts.init(document.getElementById("chart-part1"));
              const option = {
//引用背景圖片
                  backgroundColor: {
                    image:img,
                     repeat:'no-repeat'
                  },
                  grid:{
                    y:'45%'
                  },
                  tooltip: {
                      show:false,
                      trigger: 'axis',
                      formatter: function (data) {
                      return (
                        data[0].name.substring(0,8)+"<br/>"+
                        "<p style='color:#c23531;border-radius:50%;width:10px;height:10px;'></p>最高溫:"+data[0].data+"℃<br/>"+
                        "最低溫:"+data[1].data+"℃"
                      )
                    }
                  },
                  xAxis:  {
                      type: 'category',
                      show:true,
                      boundaryGap: false,
                      position:"top",
                      data:this.chartDate,
                      nameGap:10,
                      axisLine:{
                        lineStyle:{
                          // color:'#fff',
                        },
                        show:false
                      },
                      axisTick:{
                        show:false
                      },
                      axisLabel: {
                        textStyle: {
                            fontSize: 20,
                            color: '#fff',
                            shadowColor:"#666",
                            shadowBlur:1,
                            // shadowOffsetX:20
                            // show:false
                        },
                          interval: 0,
                          formatter:function(value){
                              var ret = "";//拼接加\n返回的類目項(xiàng)
                              var maxLength = 5;//每項(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,
                              {
                                  var tmp = value.substring(0,8); 
                                  for (var i = 0; i < rowN; i++) {
                                      var temp = "";//每次截取的字符串
                                      var start = i * maxLength;//開(kāi)始截取的位置
                                      var end = start + maxLength;//結(jié)束截取的位置
                                      //這里也可以加一個(gè)是否是最后一行的判斷停忿,但是不加也沒(méi)有影響驾讲,那就不加吧
                                      temp = tmp.substring(start, end) + "\n";
                                      ret += temp; //憑借最終的字符串
                                  }
                                    ret=ret.substring(0,10);
                                    // console.log(ret);
                                    value=value.substring(30);
                                    // console.log(value);
                                    if(value=='晴.png'){
                                      return '{a|'+ret+'}{img1|}';
                                    }else if(value=='暴雨.png'){
                                      return '{a|'+ret+'}{img2|}';
                                    }else if(value=='大暴雨.png'){
                                      return '{a|'+ret+'}{img3|}';
                                    }else if(value=='多云.png'){
                                      return '{a|'+ret+'}{img4|}';
                                    }else if(value=='浮塵.png'){
                                      return '{a|'+ret+'}{img5|}';
                                    }else if(value=='雷陣雨.png'){
                                      return '{a|'+ret+'}{img6|}';
                                    }else if(value=='雷陣雨伴有冰雹.png'){
                                      return '{a|'+ret+'}{img7|}';
                                    }else if(value=='特大暴雨.png'){
                                      return '{a|'+ret+'}{img8|}';
                                    }else if(value=='霧.png'){
                                      return '{a|'+ret+'}{img9|}';
                                    }else if(value=='霧霾.png'){
                                      return '{a|'+ret+'}{img10|}';
                                    }else if(value=='小雨.png'){
                                      return '{a|'+ret+'}{img11|}';
                                    }else if(value=='小雨伴有冰雹.png'){
                                      return '{a|'+ret+'}{img12|}';
                                    }else if(value=='陰.png'){
                                      return '{a|'+ret+'}{img13|}';
                                    }else if(value=='陣雨.png'){
                                      return '{a|'+ret+'}{img14|}';
                                    }else if(value=='中雨.png'){
                                      return '{a|'+ret+'}{img15|}';
                                    }else if(value=='大雨.png'){
                                      return '{a|'+ret+'}{img16|}';
                                    }else if(value=='暴雪.png'){
                                      return '{a|'+ret+'}{img17|}';
                                    }else if(value=='大雪.png'){
                                      return '{a|'+ret+'}{img18|}';
                                    }else if(value=='凍雨.png'){
                                      return '{a|'+ret+'}{img19|}';
                                    }else if(value=='雷陣雪.png'){
                                      return '{a|'+ret+'}{img20|}';
                                    }else if(value=='沙塵暴.png'){
                                      return '{a|'+ret+'}{img21|}';
                                    }else if(value=='小雪.png'){
                                      return '{a|'+ret+'}{img22|}';
                                    }else if(value=='揚(yáng)沙.png'){
                                      return '{a|'+ret+'}{img23|}';
                                    }else if(value=='夜晚多云.png'){
                                      return '{a|'+ret+'}{img24|}';
                                    }else if(value=='夜晚晴.png'){
                                      return '{a|'+ret+'}{img25|}';
                                    }else if(value=='夜晚沙塵暴.png'){
                                      return '{a|'+ret+'}{img26|}';
                                    }else if(value=='夜晚霧.png'){
                                      return '{a|'+ret+'}{img27|}';
                                    }else if(value=='夜晚?yè)P(yáng)沙.png'){
                                      return '{a|'+ret+'}{img28|}';
                                    }else if(value=='夜晚陣雪.png'){
                                      return '{a|'+ret+'}{img29|}';
                                    }else if(value=='夜晚陣雨.png'){
                                      return '{a|'+ret+'}{img30|}';
                                    }else if(value=='雨夾雪.png'){
                                      return '{a|'+ret+'}{img31|}';
                                    }else if(value=='陣雪.png'){
                                      return '{a|'+ret+'}{img32|}';
                                    }else if(value=='中雪.png'){
                                      return '{a|'+ret+'}{img33|}';
                                    }else{
                                      return '{a|'+ret+'}';
                                    }
                              }
                              else {
                                console.log(value);
                                return '{a|'+value+'}{img1|}';
                                  
                              }
                          },
                          rich:{
                            a:{
                              fontSize: 14,
                              lineHeight: 20
                            },
//比較麻煩,要給每一張圖片都要加一個(gè)定義
                            img1: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/晴.png'
                              },
                              height:32,
                              // width:35
//處理圖片的寬高
                            },
                            img2: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/暴雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img3: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/大暴雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img4: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/多云.png'
                              },
                              height:32,
                              // width:35
                            },
                            img5: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/浮塵.png'
                              },
                              height:32,
                              // width:35
                            },
                            img6: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/雷陣雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img7: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/雷陣雨伴有冰雹.png'
                              },
                              height:32,
                              // width:35
                            },
                            img8: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/特大暴雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img9: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/霧.png'
                              },
                              height:32,
                              // width:35
                            },
                            img10: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/霧靄.png'
                              },
                              height:32,
                              // width:35
                            },
                            img11: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/小雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img12: {
                              //引入圖片
                              backgroundColor: {
                                image: './static/img/colorIcon/小雨伴有冰雹.png'
                              },
                              height:32,
                              // width:35
                            },
                            img13: {
                              backgroundColor: {
                                image: './static/img/colorIcon/陰.png'
                              },
                              height:32,
                              // width:38
                            },
                            img14: {
                              backgroundColor: {
                                image: './static/img/colorIcon/陣雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img15: {
                              backgroundColor: {
                                image: './static/img/colorIcon/中雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img16: {
                              backgroundColor: {
                                image: './static/img/colorIcon/大雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img17: {
                              backgroundColor: {
                                image: './static/img/colorIcon/暴雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img18: {
                              backgroundColor: {
                                image: './static/img/colorIcon/大雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img19: {
                              backgroundColor: {
                                image: './static/img/colorIcon/凍雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img20: {
                              backgroundColor: {
                                image: './static/img/colorIcon/雷陣雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img21: {
                              backgroundColor: {
                                image: './static/img/colorIcon/沙塵暴.png'
                              },
                              height:32,
                              // width:35
                            },
                            img22: {
                              backgroundColor: {
                                image: './static/img/colorIcon/小雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img23: {
                              backgroundColor: {
                                image: './static/img/colorIcon/揚(yáng)沙.png'
                              },
                              height:32,
                              // width:35
                            },
                            img24: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚多云.png'
                              },
                              height:32,
                              // width:35
                            },
                            img25: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚晴.png'
                              },
                              height:32,
                              // width:35
                            },
                            img26: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚沙塵暴.png'
                              },
                              height:32,
                              // width:35
                            },
                            img27: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚霧.png'
                              },
                              height:32,
                              // width:35
                            },
                            img28: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚?yè)P(yáng)沙.png'
                              },
                              height:32,
                              // width:35
                            },
                            img29: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚陣雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img30: {
                              backgroundColor: {
                                image: './static/img/colorIcon/夜晚陣雨.png'
                              },
                              height:32,
                              // width:35
                            },
                            img31: {
                              backgroundColor: {
                                image: './static/img/colorIcon/雨夾雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img32: {
                              backgroundColor: {
                                image: './static/img/colorIcon/陣雪.png'
                              },
                              height:32,
                              // width:35
                            },
                            img33: {
                              backgroundColor: {
                                image: './static/img/colorIcon/中雪.png'
                              },
                              height:32,
                              // width:35
                            },
                          }
                      }
                  },
                  yAxis: {
                      type: 'value',
                      name:"氣溫",
                      show:false,
                      axisLabel: {
                          formatter: '{value} °C',
                          show:false
                      },
                      axisLine:{
                          show:false
                      },
                      axisTick:{
                          show:false
                      },
                  },
                  series: [{
                      name:'最高氣溫',
                      type:'line',
                      data:this.maxTemp,
                      animation: false,
                      // legendHoverLink:true,
                      smooth: false,
                      itemStyle: {
                        
                        color: '#000',
                        normal: {
                          color: '#ff0000', //改變折線點(diǎn)的顏色
                          borderColor:"#c26767",
                          borderType:"solid",
                          borderWidth:1,
                          shadowColor: '#fff',
                          shadowBlur: 5,
                          lineStyle: {
                            color: '#ff0000', //改變折線顏色
                            borderWidth:2,
                            shadowBlur: 2,
                            shadowColor: '#6f0000', 
                            opacity:0.92,
                            shadowOffsetX: 0,
                            shadowOffsetY: 1
                          },
                          label:{show:true,fontSize:14,color:"#fff"}
                        }
                        
                      }
                  },
                  {
                      name:'最低氣溫',
                      type:'line',
                      animation: false,
                      smooth: false,
                      data:this.minTemp,
                      itemStyle: {
                        normal: {
                          color: '#00ff42', //改變折線點(diǎn)的顏色
                          borderColor:"#00ff42",
                          borderType:"solid",
                          borderWidth:1,
                          shadowColor: '#fff',
                          shadowBlur: 5,
                          lineStyle: {
                            color: '#00ff42', //改變折線顏色
                            borderWidth:2,
                            shadowBlur: 2,
                            shadowColor: '#000000', 
                            shadowOffsetX: 0,
                            shadowOffsetY: 1
                          },
                          label:{show:true,fontSize:14,color:"#fff"}
                        }
                      }
                      }]
                  };
                  myChart.setOption(option);     
//將echart截圖并且生成base64格式
                   var picInfo = myChart.getDataURL();
                   this.dataURL=picInfo;   
                  this.$nextTick(()=>{
                    setTimeout(()=>{
                      this.toImage();
                    },1000);
                  });
                  window.addEventListener("resize", function() {
                      myChart.resize();
                  });
                  // this.downloadImpByChart("chart-part1",img);
                  
              }  
          }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末席赂,一起剝皮案震驚了整個(gè)濱河市吮铭,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌颅停,老刑警劉巖谓晌,帶你破解...
    沈念sama閱讀 212,542評(píng)論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異癞揉,居然都是意外死亡纸肉,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,596評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門喊熟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)柏肪,“玉大人,你說(shuō)我怎么就攤上這事芥牌》澄叮” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 158,021評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵壁拉,是天一觀的道長(zhǎng)拐叉。 經(jīng)常有香客問(wèn)我,道長(zhǎng)扇商,這世上最難降的妖魔是什么凤瘦? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,682評(píng)論 1 284
  • 正文 為了忘掉前任,我火速辦了婚禮案铺,結(jié)果婚禮上蔬芥,老公的妹妹穿的比我還像新娘。我一直安慰自己控汉,他們只是感情好笔诵,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,792評(píng)論 6 386
  • 文/花漫 我一把揭開(kāi)白布。 她就那樣靜靜地躺著姑子,像睡著了一般乎婿。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上街佑,一...
    開(kāi)封第一講書(shū)人閱讀 49,985評(píng)論 1 291
  • 那天谢翎,我揣著相機(jī)與錄音捍靠,去河邊找鬼。 笑死森逮,一個(gè)胖子當(dāng)著我的面吹牛榨婆,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播褒侧,決...
    沈念sama閱讀 39,107評(píng)論 3 410
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼良风,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來(lái)了闷供?” 一聲冷哼從身側(cè)響起烟央,我...
    開(kāi)封第一講書(shū)人閱讀 37,845評(píng)論 0 268
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎歪脏,沒(méi)想到半個(gè)月后吊档,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 44,299評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡唾糯,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,612評(píng)論 2 327
  • 正文 我和宋清朗相戀三年怠硼,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片移怯。...
    茶點(diǎn)故事閱讀 38,747評(píng)論 1 341
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡香璃,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出舟误,到底是詐尸還是另有隱情葡秒,我是刑警寧澤,帶...
    沈念sama閱讀 34,441評(píng)論 4 333
  • 正文 年R本政府宣布嵌溢,位于F島的核電站眯牧,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏赖草。R本人自食惡果不足惜学少,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 40,072評(píng)論 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望秧骑。 院中可真熱鬧版确,春花似錦、人聲如沸乎折。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,828評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)骂澄。三九已至吓蘑,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間坟冲,已是汗流浹背磨镶。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 32,069評(píng)論 1 267
  • 我被黑心中介騙來(lái)泰國(guó)打工溃蔫, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人棋嘲。 一個(gè)月前我還...
    沈念sama閱讀 46,545評(píng)論 2 362
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像矩桂,于是被迫代替她去往敵國(guó)和親沸移。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,658評(píng)論 2 350