验证码: 看不清楚,换一张 查询 注册会员,免验证
  • {{ basic.site_slogan }}
  • 打开微信扫一扫,
    您还可以在这里找到我们哟

    关注我们

怎么使用Vue+Echarts绘制饼图

阅读:391 来源:乙速云 作者:代码code

怎么使用Vue+Echarts绘制饼图

      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基本使用请见:在Vue项目中引入 ECharts

      2 基本饼状图

      饼图和折线图、柱状图略有不同,不再需要配置坐标轴,而是把数据名称和值都写在系列中。只需要一个series属性即可画出饼图,以下是一个最简单的饼图的例子。

      const option = {
              series: [
                {
                  type: "pie", // type设置为饼图
                  data: [
                    {
                      value: 463,
                      name: "江苏"
                    },
                    {
                      value: 395,
                      name: "浙江"
                    },
                    {
                      value: 157,
                      name: "山东"
                    },
                    {
                      value: 149,
                      name: "广东"
                    },
                    {
                      value: 147,
                      name: "湖南"
                    }
                  ]
                }
              ]
            };

      需要注意的是,这里是 value 不需要是百分比数据,ECharts 会根据所有数据的 value ,按比例分配它们在饼图中对应的弧度。

      图示:

      怎么使用Vue+Echarts绘制饼图

      3 为饼图添加标题等属性

      3.1 标题图例

      通常我们给饼图设置标题,可以通过title属性设置,其中title.text代表图表标题的文本,可以通过left ,top ,right ,bottom 四个属性调整标题位置,title.textStyle设置标题文本样式。

      此外我们也可给标题设置图例:

      legend:data对应折线名称以及数量,位置属性left ,top ,right ,bottom ;图例方向orient:默认横向排列,vertical表示纵向排列。

      例子如下:

      const option = {
          legend: {
              // 图例
              data: ["江苏", "浙江", "山东", "广东", "湖南"],
              right: "10%",
              top: "30%",
              orient: "vertical"
          },
          title: {
              // 设置饼图标题,位置设为顶部居中
              text: "国内院士前五省份图示",
              top: "0%",
              left: "center"
          },
          series: [
              {
                  type: "pie",
                  data: [
                      {
                          value: 463,
                          name: "江苏"
                      },
                      {
                          value: 395,
                          name: "浙江"
                      },
                      {
                          value: 157,
                          name: "山东"
                      },
                      {
                          value: 149,
                          name: "广东"
                      },
                      {
                          value: 147,
                          name: "湖南"
                      }
                  ]
              }
          ]
      };

      如图所示:

      怎么使用Vue+Echarts绘制饼图

      3.2 数据展示

      饼图的文本标签书信默认值与柱状图和折线图不同,柱状图和折线图文本标签默认不展示,也就是label.show默认为false,但是饼图文本标签默认展示,也就是label.show默认为true;饼图数值默认不会展示在图上,需要借助label.formatter将数据展示在图上,示例如下:

      const option = {
          legend: {
              // 图例
              data: ["江苏", "浙江", "山东", "广东", "湖南"],
              right: "10%",
              top: "30%",
              orient: "vertical"
          },
          title: {
              // 设置饼图标题,位置设为顶部居中
              text: "国内院士前五省份图示",
              top: "0%",
              left: "center"
          },
          series: [
              {
                  type: "pie",
                  label: {
                      show: true,
                      formatter: "{b} : {c} ({d}%)" // b代表名称,c代表对应值,d代表百分比
                  },
                  data: [
                      {
                          value: 463,
                          name: "江苏"
                      },
                      {
                          value: 395,
                          name: "浙江"
                      },
                      {
                          value: 157,
                          name: "山东"
                      },
                      {
                          value: 149,
                          name: "广东"
                      },
                      {
                          value: 147,
                          name: "湖南"
                      }
                  ]
              }
          ]
      };

      图示如下:

      怎么使用Vue+Echarts绘制饼图

      3.3 样式设置

      样式设置这块只对饼图的半径进行说明,可以通过 series.radius 设置,可以是诸如 '30%' 这样相对的百分比字符串,或是 200 这样的绝对像素数值。当它是百分比字符串时,它是相对于容器宽高中较小的一条边的。也就是说,如果宽度大于高度,则百分比是相对于高度的,反之则反;当它是数值型时,它表示绝对的像素大小。

      示例如下:

      const option = {
          legend: {
              // 图例
              data: ["江苏", "浙江", "山东", "广东", "湖南"],
              right: "10%",
              top: "30%",
              orient: "vertical"
          },
          title: {
              // 设置饼图标题,位置设为顶部居中
              text: "国内院士前五省份图示",
              top: "0%",
              left: "center"
          },
          series: [
              {
                  type: "pie",
                  label: {
                      show: true,
                      formatter: "{b} : {c} ({d}%)" // b代表名称,c代表对应值,d代表百分比
                  },
                  radius: "30%", //饼图半径
                  data: [
                      {
                          value: 463,
                          name: "江苏"
                      },
                      {
                          value: 395,
                          name: "浙江"
                      },
                      {
                          value: 157,
                          name: "山东"
                      },
                      {
                          value: 149,
                          name: "广东"
                      },
                      {
                          value: 147,
                          name: "湖南"
                      }
                  ]
              }
          ]
      };

      图示如下:

      怎么使用Vue+Echarts绘制饼图

      以上示例vue代码如下:

      
      
      

      4 饼图扩展

      在 ECharts 中,饼图的半径radius除了3.3节提到的,可以是一个数值或者字符串之外,还可以是一个包含两个元素的数组,每个元素可以为数值或字符串。当它是一个数组时,它的前一项表示内半径,后一项表示外半径,这样就形成了一个圆环图。

      从这个角度上来说,可以认为饼图是一个内半径为 0 的圆环图,也就是说,饼图是圆环图的特例。

      例子:

      const option = {
          legend: {
              // 图例
              data: ["江苏", "浙江", "山东", "广东", "湖南"],
              right: "10%",
              top: "30%",
              orient: "vertical"
          },
          title: {
              // 设置饼图标题,位置设为顶部居中
              text: "国内院士前五省份图示",
              top: "0%",
              left: "center"
          },
          series: [
              {
                  type: "pie",
                  label: {
                      show: true,
                      formatter: "{b} : {c} ({d}%)" // b代表名称,c代表对应值,d代表百分比
                  },
                  radius: ["40%", "70%"], //圆环内半径40%,外半径70%
                  data: [
                      {
                          value: 463,
                          name: "江苏"
                      },
                      {
                          value: 395,
                          name: "浙江"
                      },
                      {
                          value: 157,
                          name: "山东"
                      },
                      {
                          value: 149,
                          name: "广东"
                      },
                      {
                          value: 147,
                          name: "湖南"
                      }
                  ]
              }
          ]
      };

      如图所示:

      怎么使用Vue+Echarts绘制饼图

    分享到:
    *特别声明:以上内容来自于网络收集,著作权属原作者所有,如有侵权,请联系我们: hlamps#outlook.com (#换成@)。
    相关文章
    {{ v.title }}
    {{ v.description||(cleanHtml(v.content)).substr(0,100)+'···' }}
    你可能感兴趣
    推荐阅读 更多>