溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)

發(fā)布時(shí)間:2022-03-25 13:44:48 來(lái)源:億速云 閱讀:317 作者:iii 欄目:開(kāi)發(fā)技術(shù)

今天小編給大家分享一下Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)的相關(guān)知識(shí)點(diǎn),內(nèi)容詳細(xì),邏輯清晰,相信大部分人都還太了解這方面的知識(shí),所以分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后有所收獲,下面我們一起來(lái)了解一下吧。

首先是因?yàn)轫?xiàng)目,需要在一個(gè)區(qū)域內(nèi)根據(jù)坐標(biāo)標(biāo)出在標(biāo)準(zhǔn)大小的玻璃中標(biāo)出檢測(cè)出含有缺陷的坐標(biāo)點(diǎn)。
假如說(shuō),一塊玻璃的大小是標(biāo)準(zhǔn)的 100200 mm的大小,這個(gè)是定死的,不會(huì)變,每塊都這么大。
那么就直接在界面上創(chuàng)建一個(gè)100200px的div,表示是這塊玻璃。
規(guī)定,這塊玻璃的中心點(diǎn)是原點(diǎn)(0,0),向右向上是正,向左向下是負(fù)。
所以就是這個(gè)樣子

Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)

所以說(shuō)我就想用 echarts 直接在界面上渲染。

html

首先在界面上繪制一個(gè)div來(lái)放置echarts。其中這個(gè)被我抽離出來(lái)做成了組件,組件大小已經(jīng)規(guī)定好了,就是200*100的標(biāo)準(zhǔn)大小。公司要求不能拉伸,不然給人的感覺(jué)點(diǎn)就是錯(cuò)位的,如果太大,可以按比例縮小或放大。

<template>
  <div >
    <div id="map" ></div>
  </div>
</template>

然后是給散點(diǎn)圖畫(huà)坐標(biāo),其實(shí)這個(gè)地方就很煩。
echarts 的坐標(biāo)和公司的有出入。

Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)

首先設(shè)置x軸 和 y軸

// 循環(huán)界面
let xLabel = []
let yLabel = []
for (let i = -49; i <= 50; i++) {
          xLabel.push(i)
        }
        for (let y = -99; y <= 100; y++) {
          yLabel.push(y)
        }

然后是繪制點(diǎn)的集合

后臺(tái)返回來(lái)的點(diǎn)的數(shù)據(jù)結(jié)構(gòu)大體是這個(gè)樣子的。

Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)

series.push({
    symbolSize: 10,
          color: 'red',
          name: this.showData[2],
          // data下面是計(jì)算出的,就是楞加
          data: [[this.showData[0] / 1000 + 49, this.showData[1] / 1000 + 99]],
          type: 'scatter',
})

坐標(biāo)需要轉(zhuǎn)換,除1000,不解釋了,就這樣規(guī)定的。

然后就可以繪制散點(diǎn)圖了。

let option = {
          grid: {   // 因?yàn)榫褪莻€(gè)圖片,模擬玻璃,就把繪制的邊距設(shè)置為0,繪制區(qū)域充滿整個(gè)屏幕
            top: 0,
            left: 0,
            right: 0,
            bottom: 0,
          },
          xAxis: { 
            show: false,
            data: xLabel
          },
          yAxis: {
            show: false,
            data: yLabel
          },
          series,
        }
        this.charts = echarts.init(document.getElementById('map'))
        this.charts.setOption(option, true)
        // 下面這個(gè)點(diǎn)擊事件是當(dāng)我點(diǎn)擊圖上的點(diǎn)的是后觸發(fā)的點(diǎn)擊事件
        this.charts.on('click', (params) => {
          if (params.componentSubType === 'scatter') {
            console.log('pointClick ----> ', params.seriesName)
          }
})

可以了。

大體效果就這個(gè)樣子。

Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)

以上就是“Vue怎么使用echarts散點(diǎn)圖在區(qū)域內(nèi)標(biāo)點(diǎn)”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家閱讀完這篇文章都有很大的收獲,小編每天都會(huì)為大家更新不同的知識(shí),如果還想學(xué)習(xí)更多的知識(shí),請(qǐng)關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI