循序漸進VUE+Element 前端應用開發(10)--- 基於vue-echarts處理各種圖表展示

来源:https://www.cnblogs.com/wuhuacong/archive/2020/06/15/13129795.html
-Advertisement-
Play Games

在我們做應用系統的時候,往往都會涉及圖表的展示,綜合的圖表展示能夠給客戶帶來視覺的享受和數據直觀體驗,同時也是增強客戶認同感的舉措之一。基於圖表的處理,我們一般往往都是利用對應第三方的圖表組件,然後在這個基礎上為它的數據模型提供符合要求的圖表數據即可,VUE+Element 前端應用也不例外,我們這... ...


在我們做應用系統的時候,往往都會涉及圖表的展示,綜合的圖表展示能夠給客戶帶來視覺的享受和數據直觀體驗,同時也是增強客戶認同感的舉措之一。基於圖表的處理,我們一般往往都是利用對應第三方的圖表組件,然後在這個基礎上為它的數據模型提供符合要求的圖表數據即可,VUE+Element 前端應用也不例外,我們這裡使用了基於vue-echarts組件模塊來處理各種圖表vue-echarts是對echarts圖表組件的封裝。

1、圖表組件的安裝使用

首先使用npm 安裝vue-echarts組件。

git地址:https://github.com/ecomfe/vue-echarts

NPM安裝命令

npm install echarts vue-echarts

然後在對應模塊頁面裡面引入對應的組件對象,如下代碼所示。

<script>
import ECharts from 'vue-echarts' // 主圖表對象
import 'echarts/lib/chart/line' // 曲線圖表
import 'echarts/lib/chart/bar' // 柱狀圖
import 'echarts/lib/chart/pie' // 餅狀圖
import 'echarts/lib/component/tooltip' // 提示信息

接著在Vue組件裡面對象中加入對象即可。

export default {
  components: {
    'v-chart': ECharts
  },

如果是全局註冊使用,那麼可以在main.js裡面進行載入

// 註冊組件後即可使用
Vue.component('v-chart', VueECharts)

我們來看看圖表展示的效果圖

柱狀圖效果

 

餅狀圖

  

 曲線圖

  

 其他類型,極坐標和散點圖形

  

 或者曲線和柱狀圖組合的圖形

 更多的案例可以參考官網的展示介紹:https://echarts.apache.org/examples/zh/index.html

  

2、各種圖表的展示處理

對於我們需要的各種常規的柱狀圖、餅狀圖、折線圖(曲線圖)等,我下來介紹幾個案例代碼,其他的一般我們根據官方案例提供的data數據模型,構造對應的數據即可生成,就不再一一贅述。

另外,我們也可以參考Vue-echarts封裝的處理demo:https://github.com/ecomfe/vue-echarts/tree/master/src/demo 

對於柱狀圖,效果如下

在Vue模塊頁面的Template 裡面,我們定義界面代碼如下即可。

<v-chart
  ref="simplebar"
  :options="simplebar"
  autoresize
/>

然後在data裡面為它準備好數據即可,如下代碼所示。

 data() {
    return {
      simplebar: {
        title: { text: '柱形圖Demo' },
        tooltip: {},
        xAxis: {
          data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
        },
        yAxis: {},
        series: [{
          name: '銷量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }]
      }
    }
  }

當然我們也可以把這些構造對應數據的邏輯放在單獨的JS文件裡面,然後導入即可。

例如對於餅圖,它的界面效果如下所示。

它的vue視圖下,Template裡面的代碼如下所示。

<v-chart
  ref="pie"
  :options="pie"
  autoresize />

一般對於圖表的數據,由於處理代碼可能不少,建議是獨立放在一個JS文件裡面,然後我們通過import導入即可使用。

  然後在data裡面引入對應的對象即可,如下所示。

<script>
import ECharts from 'vue-echarts' // 主圖表對象
import 'echarts/lib/chart/line' // 曲線圖表
import 'echarts/lib/chart/bar' // 柱狀圖
import 'echarts/lib/chart/pie' // 餅狀圖
import 'echarts/lib/component/tooltip' // 提示信息

// 導入報表數據
import getBar from './chartdata/bar'
import pie from './chartdata/pie'
import scatter from './chartdata/scatter'
import lineChart from './chartdata/lineChart'
import incomePay from './chartdata/incomePay'

export default {
  components: {
    'v-chart': ECharts
  },
   return {
      pie,
      scatter,,
      lineChart,
      incomePay,
      simplebar: {
        title: { text: '柱形圖Demo' },
        tooltip: {},
        xAxis: {
          data: ['襯衫', '羊毛衫', '雪紡衫', '褲子', '高跟鞋', '襪子']
        },
        yAxis: {},
        series: [{
          name: '銷量',
          type: 'bar',
          data: [5, 20, 36, 10, 10, 20]
        }]
      }
    }
  },

其中pie.js裡面放置的是處理餅圖數據的邏輯,如下代碼所示。

export default {
  title: {
    text: '餅圖程式調用高亮示例',
    x: 'center'
  },
  tooltip: {
    trigger: 'item',
    formatter: '{a} <br/>{b} : {c} ({d}%)'
  },
  legend: {
    orient: 'vertical',
    left: 'left',
    data: ['直接訪問', '郵件營銷', '聯盟廣告', '視頻廣告', '搜索引擎']
  },
  series: [
    {
      name: '訪問來源',
      type: 'pie',
      radius: '55%',
      center: ['50%', '60%'],
      data: [
        { value: 335, name: '直接訪問' },
        { value: 310, name: '郵件營銷' },
        { value: 234, name: '聯盟廣告' },
        { value: 135, name: '視頻廣告' },
        { value: 1548, name: '搜索引擎' }
      ],
      itemStyle: {
        emphasis: {
          shadowBlur: 10,
          shadowOffsetX: 0,
          shadowColor: 'rgba(0, 0, 0, 0.5)'
        }
      }
    }
  ]
}

在界面處理的時候,值得註意的時候,有時候Vue頁面處理正常,但是圖表就是沒有出來,可能是因為高度或者寬度為0的原因,需要對對應的樣式進行處理設置,以便能夠正常顯示出來。

如下是我 對圖表的設置的樣式處理,使得圖表在一個卡片的位置能夠顯示正常。

<style scoped>
  .echarts { width: 100%; height: 400px;}

  .el-row {
    margin-bottom: 20px;
  }
  .el-col {
    border-radius: 4px;
    margin-bottom: 20px;
  }
</style>

最後幾個界面組合一起的效果如下所示。

 以上就是基於vue-echarts處理各種圖表展示,其中常規的引入組件很容易的,主要就是需要根據對應的圖表案例,參考數據組成的規則,從而根據我們實際情況構建對應的數據,賦值給對應的模型變數即可。

列出以下前面幾篇隨筆的連接,供參考:

循序漸進VUE+Element 前端應用開發(1)--- 開發環境的準備工作

循序漸進VUE+Element 前端應用開發(2)--- Vuex中的API、Store和View的使用

循序漸進VUE+Element 前端應用開發(3)--- 動態菜單和路由的關聯處理

循序漸進VUE+Element 前端應用開發(4)--- 獲取後端數據及產品信息頁面的處理

循序漸進VUE+Element 前端應用開發(5)--- 表格列表頁面的查詢,列表展示和欄位轉義處理

循序漸進VUE+Element 前端應用開發(6)--- 常規Element 界面組件的使用

循序漸進VUE+Element 前端應用開發(7)--- 介紹一些常規的JS處理函數

循序漸進VUE+Element 前端應用開發(8)--- 樹列表組件的使用

循序漸進VUE+Element 前端應用開發(9)--- 界面語言國際化的處理


您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 夏眠不覺曉,處處蚊子咬,夜來鍵盤聲,發落知多少? 每天都在寫代碼,雖然手底下馬不停蹄的敲,但是該來的加班還是會來的,如何能更快的完成手頭的工作,提高自己的開發效率,今天小編給大家帶來了這幾個Vue小技巧,終於可以在六點像小鹿一樣奔跑著下班了。 先贊後看,艷遇不斷,哈哈哈哈 學會使用$attrs 與  ...
  • 網頁誕生初期,沒有描述樣式的語言,創建了很多用於描述樣式的標簽。但這些標簽破壞了html作為一門結構語言的表現。 於是,W3C在1995年開始起草CSS,提出將結構和樣式分離的解決方案。 元素 元素是文檔結構的基礎,在CSS中,每個元素都會生成一個框(或者說盒) 表現形式 替換元素:替換元素的內容並 ...
  • 以織夢程式建站為例,移動頁面圖片變形解決方法:修改PHP系統文件:include/ arc.archives.class.php ...
  • 本文所用的知識點:創建節點和添加節點 創建節點:document.createElement('li') 添加節點 node(父親節點).appendChild(child) child:子節點 追加式添加元素 insertBefore:使得插入的元素始終顯示在最前面 參考文檔:https://ww ...
  • 作為一個過來人,對於題主的問題,有些個人的見解,我當年也是自學出來的,不過感覺自己走了很多彎路!可能是時代不一樣,選擇也不一樣吧!那會兒也沒有現在這麼好的勢頭.當年只是因為非常簡單的一個”喜歡”,2002年的時候剛開始接觸淘寶,那時對網路非常感興趣,然後就買了各種學習的相關資料,再然後就一發不可收了 ...
  • 想創建您的第一個AMP頁面又不知道如何開始?在本教程中,您將學習如何創建一個基本的AMP HTML頁面,如何對其進行設置並驗證它是否與AMP相容,以及如何為發佈和分發做好準備。 Create your first AMP pageNot sure how to get started? In thi ...
  • 前端即網站前臺部分,運行在PC端,移動端等瀏覽器上展現給用戶瀏覽的網頁。多數後端開發人員從事於構建工作應用程式背後的實際邏輯。前後端需要相互配合,共同完成一個項目。那到底什麼是前端?什麼是後端呢? 接下來小編帶你一起來瞭解前端與後端技術的區別。 一、什麼是前端開發? 1、前端概念 前端即網站前臺部分 ...
  • 許多小伙伴關於WEB前端工程師是很有些想法的,畢竟是高薪又面子,誰都想瞭解一下,一探究竟。又不少人都個筆者留言,問WEB前端工程師要做什麼作業,有提升空間嗎,本文就是為了回答這個問題而誕生的,現在我們就一起來討論一下,WEB前端工程師要做什麼,有提升空間嗎,這個話題。 1:在知道WEB前端工程師要做 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...