最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue+Echarts繪制餅圖的示例詳解

 更新時(shí)間:2023年03月16日 14:05:13   作者:Saga?Two  
這篇文章主要為大家詳細(xì)介紹了如何利用Vue和Echarts實(shí)現(xiàn)繪制餅圖,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下

1 引入Echarts

1.1 安裝

使用如下命令通過 npm 安裝 ECharts

npm install echarts --save

注:本文安裝Echarts版本為:“echarts”: “5.2.1”

1.2 引入

安裝完成以后,可以將echarts全部引入,這樣一來,我們可以在該頁面使用echarts所有組件;引入代碼如下:

import * as echarts from "echarts";

1.3 基本使用

vue+Echarts基本使用請(qǐng)見:在Vue項(xiàng)目中引入 ECharts

2 基本餅狀圖

餅圖和折線圖、柱狀圖略有不同,不再需要配置坐標(biāo)軸,而是把數(shù)據(jù)名稱和值都寫在系列中。只需要一個(gè)series屬性即可畫出餅圖,以下是一個(gè)最簡單的餅圖的例子。

const option = {
        series: [
          {
            type: "pie", // type設(shè)置為餅圖
            data: [
              {
                value: 463,
                name: "江蘇"
              },
              {
                value: 395,
                name: "浙江"
              },
              {
                value: 157,
                name: "山東"
              },
              {
                value: 149,
                name: "廣東"
              },
              {
                value: 147,
                name: "湖南"
              }
            ]
          }
        ]
      };

需要注意的是,這里是 value 不需要是百分比數(shù)據(jù),ECharts 會(huì)根據(jù)所有數(shù)據(jù)的 value ,按比例分配它們?cè)陲瀳D中對(duì)應(yīng)的弧度。

圖示:

3 為餅圖添加標(biāo)題等屬性

3.1 標(biāo)題圖例

通常我們給餅圖設(shè)置標(biāo)題,可以通過title屬性設(shè)置,其中title.text代表圖表標(biāo)題的文本,可以通過left ,top ,right ,bottom 四個(gè)屬性調(diào)整標(biāo)題位置,title.textStyle設(shè)置標(biāo)題文本樣式。

此外我們也可給標(biāo)題設(shè)置圖例:

legend:data對(duì)應(yīng)折線名稱以及數(shù)量,位置屬性left ,top ,right ,bottom ;圖例方向orient:默認(rèn)橫向排列,vertical表示縱向排列。

例子如下:

const option = {
    legend: {
        // 圖例
        data: ["江蘇", "浙江", "山東", "廣東", "湖南"],
        right: "10%",
        top: "30%",
        orient: "vertical"
    },
    title: {
        // 設(shè)置餅圖標(biāo)題,位置設(shè)為頂部居中
        text: "國內(nèi)院士前五省份圖示",
        top: "0%",
        left: "center"
    },
    series: [
        {
            type: "pie",
            data: [
                {
                    value: 463,
                    name: "江蘇"
                },
                {
                    value: 395,
                    name: "浙江"
                },
                {
                    value: 157,
                    name: "山東"
                },
                {
                    value: 149,
                    name: "廣東"
                },
                {
                    value: 147,
                    name: "湖南"
                }
            ]
        }
    ]
};

如圖所示:

3.2 數(shù)據(jù)展示

餅圖的文本標(biāo)簽書信默認(rèn)值與柱狀圖和折線圖不同,柱狀圖和折線圖文本標(biāo)簽?zāi)J(rèn)不展示,也就是label.show默認(rèn)為false,但是餅圖文本標(biāo)簽?zāi)J(rèn)展示,也就是label.show默認(rèn)為true;餅圖數(shù)值默認(rèn)不會(huì)展示在圖上,需要借助label.formatter將數(shù)據(jù)展示在圖上,示例如下:

const option = {
    legend: {
        // 圖例
        data: ["江蘇", "浙江", "山東", "廣東", "湖南"],
        right: "10%",
        top: "30%",
        orient: "vertical"
    },
    title: {
        // 設(shè)置餅圖標(biāo)題,位置設(shè)為頂部居中
        text: "國內(nèi)院士前五省份圖示",
        top: "0%",
        left: "center"
    },
    series: [
        {
            type: "pie",
            label: {
                show: true,
                formatter: " : {c} (wppm3vysvbp%)" // b代表名稱,c代表對(duì)應(yīng)值,d代表百分比
            },
            data: [
                {
                    value: 463,
                    name: "江蘇"
                },
                {
                    value: 395,
                    name: "浙江"
                },
                {
                    value: 157,
                    name: "山東"
                },
                {
                    value: 149,
                    name: "廣東"
                },
                {
                    value: 147,
                    name: "湖南"
                }
            ]
        }
    ]
};

圖示如下:

3.3 樣式設(shè)置

樣式設(shè)置這塊只對(duì)餅圖的半徑進(jìn)行說明,可以通過 series.radius 設(shè)置,可以是諸如 '30%' 這樣相對(duì)的百分比字符串,或是 200 這樣的絕對(duì)像素?cái)?shù)值。當(dāng)它是百分比字符串時(shí),它是相對(duì)于容器寬高中較小的一條邊的。也就是說,如果寬度大于高度,則百分比是相對(duì)于高度的,反之則反;當(dāng)它是數(shù)值型時(shí),它表示絕對(duì)的像素大小。

示例如下:

const option = {
    legend: {
        // 圖例
        data: ["江蘇", "浙江", "山東", "廣東", "湖南"],
        right: "10%",
        top: "30%",
        orient: "vertical"
    },
    title: {
        // 設(shè)置餅圖標(biāo)題,位置設(shè)為頂部居中
        text: "國內(nèi)院士前五省份圖示",
        top: "0%",
        left: "center"
    },
    series: [
        {
            type: "pie",
            label: {
                show: true,
                formatter: " : {c} (wppm3vysvbp%)" // b代表名稱,c代表對(duì)應(yīng)值,d代表百分比
            },
            radius: "30%", //餅圖半徑
            data: [
                {
                    value: 463,
                    name: "江蘇"
                },
                {
                    value: 395,
                    name: "浙江"
                },
                {
                    value: 157,
                    name: "山東"
                },
                {
                    value: 149,
                    name: "廣東"
                },
                {
                    value: 147,
                    name: "湖南"
                }
            ]
        }
    ]
};

圖示如下:

以上示例vue代碼如下:

<template>
  <div class="echart" id="mychart" :style="myChartStyle"></div>
</template>

<script>
import * as echarts from "echarts";

export default {
  data() {
    return {
      myChart: {},
      pieData: [
        {
          value: 463,
          name: "江蘇"
        },
        {
          value: 395,
          name: "浙江"
        },
        {
          value: 157,
          name: "山東"
        },
        {
          value: 149,
          name: "廣東"
        },
        {
          value: 147,
          name: "湖南"
        }
      ],
      pieName: [],
      myChartStyle: { float: "left", width: "100%", height: "400px" } //圖表樣式
    };
  },
  mounted() {
    this.initDate(); //數(shù)據(jù)初始化
    this.initEcharts();
  },
  methods: {
    initDate() {
      for (let i = 0; i < this.pieData.length; i++) {
        // this.xData[i] = i;
        // this.yData =this.xData[i]*this.xData[i];
        this.pieName[i] = this.pieData[i].name;
      }
    },
    initEcharts() {
      // 餅圖
      const option = {
        legend: {
          // 圖例
          data: this.pieName,
          right: "10%",
          top: "30%",
          orient: "vertical"
        },
        title: {
          // 設(shè)置餅圖標(biāo)題,位置設(shè)為頂部居中
          text: "國內(nèi)院士前五省份圖示",
          top: "0%",
          left: "center"
        },
        series: [
          {
            type: "pie",
            label: {
              show: true,
              formatter: " : {c} (wppm3vysvbp%)" // b代表名稱,c代表對(duì)應(yīng)值,d代表百分比
            },
            radius: "30%", //餅圖半徑
            data: this.pieData
          }
        ]
      };
      console.log(this.seriesData);
      const optionFree = {
        xAxis: {},
        yAxis: {},
        series: [
          {
            data: this.seriesData,
            type: "line",
            smooth: true
          }
        ]
      };
      this.myChart = echarts.init(document.getElementById("mychart"));
      this.myChart.setOption(option);
      //隨著屏幕大小調(diào)節(jié)圖表
      window.addEventListener("resize", () => {
        this.myChart.resize();
      });
    }
  }
};
</script>

4 餅圖擴(kuò)展

在 ECharts 中,餅圖的半徑radius除了3.3節(jié)提到的,可以是一個(gè)數(shù)值或者字符串之外,還可以是一個(gè)包含兩個(gè)元素的數(shù)組,每個(gè)元素可以為數(shù)值或字符串。當(dāng)它是一個(gè)數(shù)組時(shí),它的前一項(xiàng)表示內(nèi)半徑,后一項(xiàng)表示外半徑,這樣就形成了一個(gè)圓環(huán)圖。

從這個(gè)角度上來說,可以認(rèn)為餅圖是一個(gè)內(nèi)半徑為 0 的圓環(huán)圖,也就是說,餅圖是圓環(huán)圖的特例。

例子:

const option = {
    legend: {
        // 圖例
        data: ["江蘇", "浙江", "山東", "廣東", "湖南"],
        right: "10%",
        top: "30%",
        orient: "vertical"
    },
    title: {
        // 設(shè)置餅圖標(biāo)題,位置設(shè)為頂部居中
        text: "國內(nèi)院士前五省份圖示",
        top: "0%",
        left: "center"
    },
    series: [
        {
            type: "pie",
            label: {
                show: true,
                formatter: " : {c} (wppm3vysvbp%)" // b代表名稱,c代表對(duì)應(yīng)值,d代表百分比
            },
            radius: ["40%", "70%"], //圓環(huán)內(nèi)半徑40%,外半徑70%
            data: [
                {
                    value: 463,
                    name: "江蘇"
                },
                {
                    value: 395,
                    name: "浙江"
                },
                {
                    value: 157,
                    name: "山東"
                },
                {
                    value: 149,
                    name: "廣東"
                },
                {
                    value: 147,
                    name: "湖南"
                }
            ]
        }
    ]
};

如圖所示:

5 總結(jié)

餅圖在我們業(yè)務(wù)場景中引用價(jià)位哦廣泛,以上介紹的屬性基本能解決大多數(shù)業(yè)務(wù)場景的餅圖展示,本篇介紹到此位置,若要展示一些更為復(fù)雜的餅圖,歡迎留言探討。

以上就是Vue+Echarts繪制餅圖的示例詳解的詳細(xì)內(nèi)容,更多關(guān)于Vue Echarts餅圖的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Vue組件引用外部js的實(shí)戰(zhàn)指南

    Vue組件引用外部js的實(shí)戰(zhàn)指南

    在Vue.js應(yīng)用開發(fā)中,有時(shí)候我們需要在組件內(nèi)部引入外部JavaScript庫或腳本文件來增強(qiáng)組件的功能,本文將詳細(xì)探討如何在Vue.js項(xiàng)目中安全有效地引用外部JS文件,并提供一系列示例代碼來幫助理解這一過程,需要的朋友可以參考下
    2024-09-09
  • vue實(shí)現(xiàn)跳轉(zhuǎn)接口push 轉(zhuǎn)場動(dòng)畫示例

    vue實(shí)現(xiàn)跳轉(zhuǎn)接口push 轉(zhuǎn)場動(dòng)畫示例

    今天小編就為大家分享一篇vue實(shí)現(xiàn)跳轉(zhuǎn)接口push 轉(zhuǎn)場動(dòng)畫示例,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2019-11-11
  • vue中elementUI里面一些插件的使用

    vue中elementUI里面一些插件的使用

    Element UI是一套基于Vue的桌面端組件庫,封裝好了很多常用的UI組件,下面這篇文章主要給大家介紹了關(guān)于vue中elementUI里面一些插件的使用方法,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-06-06
  • 淺談Vue3 defineComponent有什么作用

    淺談Vue3 defineComponent有什么作用

    本文主要介紹了Vue3 defineComponent作用,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2021-08-08
  • 一文詳細(xì)分析Vue3中的emit用法(子傳父)

    一文詳細(xì)分析Vue3中的emit用法(子傳父)

    Emit是Vue3中另一種常見的組件間傳值方式,它通過在子組件中觸發(fā)事件并將數(shù)據(jù)通過事件參數(shù)傳遞給父組件來實(shí)現(xiàn)數(shù)據(jù)傳遞,這篇文章主要給大家介紹了關(guān)于詳細(xì)分析Vue3中emit用法(子傳父)的相關(guān)資料,需要的朋友可以參考下
    2024-05-05
  • vue-resourc發(fā)起異步請(qǐng)求的方法

    vue-resourc發(fā)起異步請(qǐng)求的方法

    這篇文章主要介紹了vue-resourc發(fā)起異步請(qǐng)求的方法,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-02-02
  • 解讀vue項(xiàng)目中遇到的深拷貝淺拷貝問題

    解讀vue項(xiàng)目中遇到的深拷貝淺拷貝問題

    這篇文章主要介紹了vue項(xiàng)目中遇到的深拷貝淺拷貝問題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-10-10
  • 詳解vue-loader在項(xiàng)目中是如何配置的

    詳解vue-loader在項(xiàng)目中是如何配置的

    這篇文章主要介紹了詳解vue-loader在項(xiàng)目中是如何配置的,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-06-06
  • vue中的事件修飾符once,prevent,stop,capture,self,passive

    vue中的事件修飾符once,prevent,stop,capture,self,passive

    這篇文章主要介紹了vue中的事件修飾符once,prevent,stop,capture,self,passive,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • 在Vue項(xiàng)目中使用d3.js的實(shí)例代碼

    在Vue項(xiàng)目中使用d3.js的實(shí)例代碼

    這篇文章主要介紹了在Vue項(xiàng)目中使用d3.js的實(shí)例代碼,非常不錯(cuò),具有參考借鑒價(jià)值價(jià)值,需要的朋友可以參考下
    2018-05-05

最新評(píng)論

洛扎县| 交口县| 平定县| 金山区| 綦江县| 清远市| 丹江口市| 丹江口市| 建平县| 邢台县| 禹州市| 万载县| 雷山县| 固镇县| 福贡县| 皮山县| 子洲县| 上饶县| 昌邑市| 洪湖市| 马龙县| 根河市| 涞水县| 陈巴尔虎旗| 澄迈县| 迭部县| 邯郸县| 韶关市| 平乐县| 庆阳市| 海宁市| 天镇县| 始兴县| 芦溪县| 长岛县| 中宁县| 武平县| 周至县| 元阳县| 莱西市| 都兰县|