Vue使用echarts散點圖在區(qū)域內(nèi)標點
Vue 使用 echarts 散點圖在區(qū)域內(nèi)標點,供大家參考,具體內(nèi)容如下
首先是因為項目,需要在一個區(qū)域內(nèi)根據(jù)坐標標出在標準大小的玻璃中標出檢測出含有缺陷的坐標點。
假如說,一塊玻璃的大小是標準的 100200 mm的大小,這個是定死的,不會變,每塊都這么大。
那么就直接在界面上創(chuàng)建一個100200px的div,表示是這塊玻璃。
規(guī)定,這塊玻璃的中心點是原點(0,0),向右向上是正,向左向下是負。
所以就是這個樣子

所以說我就想用 echarts 直接在界面上渲染。
html
首先在界面上繪制一個div來放置echarts。其中這個被我抽離出來做成了組件,組件大小已經(jīng)規(guī)定好了,就是200*100的標準大小。公司要求不能拉伸,不然給人的感覺點就是錯位的,如果太大,可以按比例縮小或放大。
<template> ? <div style="width: 100%;height: 100%;border: 1px solid #dee1e6;background-color: #f1f3f4;"> ? ? <div id="map" style="width: 100%;height:100%;"></div> ? </div> </template>
然后是給散點圖畫坐標,其實這個地方就很煩。
echarts 的坐標和公司的有出入。

首先設置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)
? ? ? ? }然后是繪制點的集合
后臺返回來的點的數(shù)據(jù)結構大體是這個樣子的。

series.push({
? ? symbolSize: 10,
? ? ? ? ? color: 'red',
? ? ? ? ? name: this.showData[2],
? ? ? ? ? // data下面是計算出的,就是楞加
? ? ? ? ? data: [[this.showData[0] / 1000 + 49, this.showData[1] / 1000 + 99]],
? ? ? ? ? type: 'scatter',
})坐標需要轉(zhuǎn)換,除1000,不解釋了,就這樣規(guī)定的。
然后就可以繪制散點圖了。
let option = {
? ? ? ? ? grid: { ? // 因為就是個圖片,模擬玻璃,就把繪制的邊距設置為0,繪制區(qū)域充滿整個屏幕
? ? ? ? ? ? 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)
? ? ? ? // 下面這個點擊事件是當我點擊圖上的點的是后觸發(fā)的點擊事件
? ? ? ? this.charts.on('click', (params) => {
? ? ? ? ? if (params.componentSubType === 'scatter') {
? ? ? ? ? ? console.log('pointClick ----> ', params.seriesName)
? ? ? ? ? }
})可以了。
大體效果就這個樣子。

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。
相關文章
vue click.stop阻止點擊事件繼續(xù)傳播的方法
今天小編就為大家分享一篇vue click.stop阻止點擊事件繼續(xù)傳播的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2018-09-09
Vue3使用Proxy構建高效響應式數(shù)據(jù)的示例代碼
在 Vue 3 中,Proxy 主要用于 攔截對象的基本操作,包括 屬性讀?。╣et)、修改(set)、刪除(deleteProperty) 等,本文給大家介紹了Vue3使用Proxy構建高效響應式數(shù)據(jù)的操作教程,需要的朋友可以參考下2025-03-03
Vue3計算屬性computed和監(jiān)聽屬性watch區(qū)別解析
計算屬性適用于對已有的數(shù)據(jù)進行計算,派生新的數(shù)據(jù),并在模板中使用;而監(jiān)聽屬性適用于監(jiān)聽數(shù)據(jù)的變化,并執(zhí)行一些特定的操作,根據(jù)具體的需求和場景,選擇適合的機制這篇文章主要介紹了Vue3計算屬性computed和監(jiān)聽屬性watch,需要的朋友可以參考下2024-02-02
vue3+elementPlus?table中添加輸入框并提交校驗
這篇文章主要介紹了vue3+elementPlus?table里添加輸入框并提交校驗,本文通過實例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-08-08
vue 實現(xiàn) ios 原生picker 效果及實現(xiàn)思路解析
這篇文章主要介紹了vue 實現(xiàn) ios 原生picker 效果及實現(xiàn)思路解析,本文給大家介紹的非常詳細,具有參考借鑒價值,需要的朋友可以參考下2017-12-12

