自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

使用RoughViz可視化Vue.js中的草繪圖表

大數(shù)據(jù) 數(shù)據(jù)可視化
圖表是數(shù)據(jù)的圖形表示,用于使數(shù)據(jù)集更易于閱讀,并且易于區(qū)分各部分。雖然大多數(shù)用戶習(xí)慣于看到簡潔而正式的圖表,但一些用戶更喜歡看到手繪或素描的圖表,這就是roughViz的用武之地。

[[380640]]

介紹

圖表是數(shù)據(jù)的圖形表示,用于使數(shù)據(jù)集更易于閱讀,并且易于區(qū)分各部分。雖然大多數(shù)用戶習(xí)慣于看到簡潔而正式的圖表,但一些用戶更喜歡看到手繪或素描的圖表,這就是roughViz的用武之地。

roughViz是一個基于D3.js和Rough.js的JavaScript庫。該庫旨在幫助構(gòu)建看起來像草圖或手繪圖的圖表,如下例所示。

在本指南中,你將學(xué)習(xí)如何使用vue-roughviz在Vue.js應(yīng)用程序中顯示類似草圖的圖表,以及如何使用vue-cli配置Vue應(yīng)用程序。

先決條件

本教程假定滿足以下先決條件:

  • 對Vue.js的基本了解
  • Node.js的本地開發(fā)環(huán)境,以及對Node軟件包管理器(npm)的熟悉
  • 文本編輯器,例如Visual Studio Code或Atom

開始

如果尚未安裝vue-cli,請運(yùn)行以下命令以安裝最新版本。

  1. npm install -g @vue/cli 
  2. OR 
  3. yarn global add @vue/cli 

現(xiàn)在,創(chuàng)建一個新的vue應(yīng)用程序:

  1. vue create my-app 

注意:此過程可能需要幾分鐘。完成后,我們可以進(jìn)入新的應(yīng)用程序根目錄:

  1. cd my-app 

上面詳細(xì)描述的過程創(chuàng)建了一個新的Vue.js應(yīng)用程序。為了確保一切都設(shè)置好了,運(yùn)行 npm run serve。當(dāng)你訪問http://localhost:8080時,你應(yīng)該會在瀏覽器中看到“Welcome to Your Vue.js app page”。

添加vue-roughviz

vue-roughviz 是RoughViz.js的Vue.js包裝器。這使得該庫可以作為組件進(jìn)行訪問,從而可以在基于Vue.js的項目中實現(xiàn)無縫重用。

要將 vue-roughviz 包含在我們的項目中,請運(yùn)行:

  1. npm install vue-roughviz 

vue-roughViz組件

vue-roughviz提供了所有rawViz圖表樣式的組件,其中包括:

  • roughBar——rawViz條形圖組件
  • roughBarH——roughViz水平條形圖組件
  • roughDonut——roughViz甜甜圈圖組件
  • roughPie——roughViz餅圖
  • roughLine——roughViz折線圖組件
  • roughScatter——roughViz分散圖表組件
  • roughStackedBar——roughViz堆疊條形圖組件

使用

將 vue-roughviz 添加到項目后,下一步是在首選的文本編輯器中打開項目文件夾。

當(dāng)你打開 src/App.vue 文件時,初始內(nèi)容應(yīng)類似于下圖:

src/App.vue file

如果你的視圖如上所述,請繼續(xù)并刪除其所有內(nèi)容,并替換為以下代碼:

  1. <template> 
  2.   <div id="app"
  3.     <rough-bar 
  4.       :data="{ 
  5.         labels: ['North''South''East''West'], 
  6.         values: [10, 5, 8, 3], 
  7.       }" 
  8.       title="Regions" 
  9.       roughness="8" 
  10.       :colors="['red', 'orange', 'blue', 'skyblue']" 
  11.       stroke="black" 
  12.       stroke-width="3" 
  13.       fill-style="cross-hatch" 
  14.       fill-weight="3.5" 
  15.       class="d-inline" 
  16.     /> 
  17.   </div> 
  18. </template> 
  19.  
  20. <script> 
  21. import { RoughBar } from "vue-roughviz"
  22. export default { 
  23.   name"App"
  24.   components: { 
  25.     RoughBar, 
  26.   }, 
  27. }; 
  28. </script> 

代碼說明

  • import ... ——這行代碼是從我們先前安裝的vue-roughviz導(dǎo)入rawBar組件。
  • export default {} ——此塊是為了使以前導(dǎo)入的組件(roughBar)在我們的應(yīng)用中可用。
  • ——這是我們調(diào)用外部rawBar組件的地方,這些組件中指定的屬性是必需的prop。

vue-roughviz props

唯一需要的prop是 data,它是用來構(gòu)造圖表的數(shù)據(jù),這可以是字符串或?qū)ο蟆?/p>

如果選擇一個對象,則該對象必須包含 labels 和 values 鍵。如果改用字符串,則字符串必須是csv或tsv文件的URL。在這個文件中,還必須將 labels 和 values 指定為表示每個列的單獨(dú)屬性。

其他有用的prop包括:

  • title——指定圖表標(biāo)題
  • roughness——圖表的粗細(xì)度等級
  • stroke——bar stroke的顏色
  • stroke-width
  • fill-weight——指定內(nèi)部路徑顏色的粗細(xì)。
  • fill-style——條形填充樣式,可以是以下一種:
    • dashed
    • solid
    • zigzag-line
    • cross-hatch
    • hachure
    • zigzag

運(yùn)行

要預(yù)覽我們的應(yīng)用,運(yùn)行 npm run serve。如果你正確地遵循了上述步驟,訪問http://localhost:8080應(yīng)該允許你查看瀏覽器中顯示的圖表。

從外部API加載數(shù)據(jù)

讓我們做一個小實驗,在我們的圖表中顯示過去10天比特幣的價格歷史。在這個實驗中,我們將使用Coingecko API。

**為什么選擇Coingecko?**與其他加密貨幣API不同,Coingecko是免費(fèi)的,不需要API密鑰就可以開始,這是我們實驗的理想選擇。

繼續(xù),用下面的代碼替換 src/App.vue

  1. <template> 
  2.   <div id="app"
  3.     <div class="d-inline-block"
  4.       <rough-bar 
  5.         v-if="chartValue.length > 0" 
  6.         :data="{ 
  7.           labels: chartLabel, 
  8.           values: chartValue, 
  9.         }" 
  10.         title="BTC - 10 Days" 
  11.         roughness="3" 
  12.         color="#ccc" 
  13.         stroke="black" 
  14.         stroke-width="1" 
  15.         fill-style="zig-zag" 
  16.         fill-weight="2" 
  17.       /> 
  18.     </div> 
  19.   </div> 
  20. </template> 
  21.  
  22. <script> 
  23. import { RoughBar } from "vue-roughviz"
  24. export default { 
  25.   name"App"
  26.   components: { 
  27.     RoughBar, 
  28.   }, 
  29.   data() { 
  30.     return { 
  31.       chartLabel: [], 
  32.       chartValue: [], 
  33.     }; 
  34.   }, 
  35.   methods: { 
  36.     async loadData() { 
  37.       await fetch
  38.         "https://api.coingecko.com/api/v3/coins/bitcoin/market_chart?vs_currency=usd&days=10&interval=daily" 
  39.       ) 
  40.         .then((res) => res.json()) 
  41.         .then((rawData) => { 
  42.           console.table(rawData.prices); 
  43.           rawData.prices.map((data) => { 
  44.             let date = new Date(data[0]).toDateString(); 
  45.             let rPrice = data[1]; 
  46.             console.log(`Price of 1btc on ${dateis ${rPrice}`); 
  47.             this.chartLabel.push(date); 
  48.             this.chartValue.push(rPrice); 
  49.           }); 
  50.         }) 
  51.         .catch((err) => console.error("Fetch error -> ", err)); 
  52.     }, 
  53.   }, 
  54.   beforeMount() { 
  55.     this.loadData(); 
  56.   }, 
  57. }; 
  58. </script> 

我們創(chuàng)建了一個異步方法 loadData(),它從coingecko API獲取比特幣價格歷史記錄,并循環(huán)遍歷返回的數(shù)據(jù)。我們將日期與價格分開,使用返回的日期作為圖表標(biāo)簽,價格作為圖表值。而 beforeMount() 也就是在我們的應(yīng)用被掛載到視圖之前,我們調(diào)用了前面創(chuàng)建的 loadData() 函數(shù)。

運(yùn)行我們的應(yīng)用程序應(yīng)該,你應(yīng)該看到我們的圖表的新變化如下:

結(jié)束

本文解釋了圖表及其用途,介紹了使用Vue-CLI創(chuàng)建Vue應(yīng)用程序的過程,并展示了如何使用 vue-roughviz 在Vue.js應(yīng)用程序中顯示類似草圖的圖表。

本文轉(zhuǎn)載自微信公眾號「前端全棧開發(fā)者」,可以通過以下二維碼關(guān)注。轉(zhuǎn)載本文請聯(lián)系前端全棧開發(fā)者公眾號。

 

責(zé)任編輯:武曉燕 來源: 前端全棧開發(fā)者
相關(guān)推薦

2021-04-09 10:42:03

數(shù)據(jù)可視化框架大數(shù)據(jù)

2021-08-30 11:40:06

PythonSeaborn可視化

2021-10-11 08:04:22

Python數(shù)據(jù)行程

2015-08-20 10:04:40

可視化

2025-04-02 07:37:29

2020-03-01 14:01:22

Echarts數(shù)據(jù)可視化圖表

2021-05-08 06:14:28

Vue.js片段開發(fā)

2023-06-11 16:12:14

數(shù)據(jù)可視化圖表類型

2023-08-01 16:01:59

可視化Seaborn

2022-05-30 08:37:34

可視化圖表項目開源

2022-08-23 12:32:37

Python可視化圖表

2017-05-23 09:07:48

可視化圖表視覺

2014-05-05 10:01:51

數(shù)據(jù)可視化

2022-07-13 15:54:14

Matplotlib圖表

2019-05-28 11:52:43

可視化圖表數(shù)據(jù)

2017-07-14 10:10:08

Vue.jsMixin

2020-03-11 14:39:26

數(shù)據(jù)可視化地圖可視化地理信息

2023-12-18 15:02:00

PyechartsPython數(shù)據(jù)可視化工具

2024-05-22 16:03:49

2022-11-28 15:04:42

數(shù)據(jù)可視化工具
點贊
收藏

51CTO技術(shù)棧公眾號