iis服务器助手广告广告
返回顶部
首页 > 资讯 > 前端开发 > JavaScript >vue使用ECharts实现折线图和饼图
  • 289
分享到

vue使用ECharts实现折线图和饼图

2024-04-02 19:04:59 289人浏览 安东尼
摘要

在开发后台管理项目时,需要统计后台用户数据,以折线图和饼图的形式显示,这边采用apache-echarts来实现需求。 1.安装echarts和引入 npm install ec

开发后台管理项目时,需要统计后台用户数据,以折线图和饼图的形式显示,这边采用apache-echarts来实现需求。

1.安装echarts和引入


npm install echarts --save
 
import * as echarts from 'echarts';

2.使用echarts实现pie图


<template>
    <div id="chartPie" class="pie-wrap"></div>
</template>
 
<script>
    import * as echarts from 'echarts';
    require('echarts/theme/Macarons');//引入主题
 
    export default {
    data() {
      return {
        chartPie: null
      }
    },
    mounted() {
      this.$nextTick(() => {
        this.drawPieChart();
      })
    },
    methods: {
      drawPieChart() {
        let mytextStyle = {
          color: "#333",                          
          fontSize: 18,                            
        };
        let mylabel = {
          show: true,                 
          position: "right",          
          offset: [30, 40],             
          fORMatter: '{b} : {c} ({d}%)',      
          textStyle: mytextStyle
        };
        this.chartPie = echarts.init(document.getElementById('chartPie'),'macarons');
        this.chartPie.setOption({
          title: {
            text: 'Pie Chart',
            subtext: '纯属虚构',
            x: 'center'
          },
          tooltip: {
            trigger: 'item',
            formatter: "{a} <br/>{b} : {c} ({d}%)",
          },
          legend: {
            data: ['直接访问', '邮件营销', '联盟广告', '视频广告', '搜索引擎'],
            left:"center",                              
            top:"bottom",                              
            orient:"horizontal",                        
          },
          series: [
            {
              name: '访问来源',
              type: 'pie',
              radius: ['50%', '70%'],
              center: ['50%', '50%'],
              data: [
                {value: 335, name: '直接访问'},
                {value: 310, name: '邮件营销'},
                {value: 234, name: '联盟广告'},
                {value: 135, name: '视频广告'},
                {value: 1548, name: '搜索引擎'}
              ],
              animationEasing: 'cubicInOut',
              animationDuration: 2600,
              label: {           
                emphasis: mylabel
              }
            }
          ]
        });
      }
    }
  }
</script>
 
<style lang='less' scope>
    .pie-wrap{
        width:100%;
        height:400px;
    }
</style>

3.使用echarts实现line图


<template>
    <!-- 为 ECharts 准备一个具备大小(宽高)的 DOM -->
    <div id="chartLine" class="line-wrap"></div>
</template>
 
<script>
    import * as echarts from 'echarts';
    require('echarts/theme/shine');//引入主题
 
    export default {
    data() {
      return {
        chartLine: null
      }
    },
    mounted() {
      this.$nextTick(() => {
        this.drawLineChart();
      })
    },
    methods: {
      drawLineChart() {
        this.chartLine = echarts.init(this.$el,'shine');// 基于准备好的dom,初始化echarts实例
        let option = {
            tooltip : {
                trigger: 'axis'
            },
            legend: {
                data:['邮件营销','联盟广告','视频广告','直接访问','搜索引擎']
            },
            calculable : true,
            xAxis : [
                {
                    type : 'cateGory',
                    boundaryGap : false,
                    axisTick: {
                        show: false
                    },
                    data : ['周一','周二','周三','周四','周五','周六','周日']
                }
            ],
            yAxis : [
                {
                    type : 'value',
                    axisTick: {
                        show: false
                    },
                    name: '(人)'
                }
            ],
            series : [
                {
                    name:'邮件营销',
                    type:'line',
                    stack: '总量',
                    data:[120, 132, 101, 134, 90, 230, 210]
                },
                {
                    name:'联盟广告',
                    type:'line',
                    stack: '总量',
                    data:[220, 182, 191, 234, 290, 330, 310]
                },
                {
                    name:'视频广告',
                    type:'line',
                    stack: '总量',
                    data:[150, 232, 201, 154, 190, 330, 410]
                },
                {
                    name:'直接访问',
                    type:'line',
                    stack: '总量',
                    data:[320, 332, 301, 334, 390, 330, 320]
                },
                {
                    name:'搜索引擎',
                    type:'line',
                    stack: '总量',
                    data:[820, 932, 901, 934, 1290, 1330, 1320]
                }
            ]
        };
        // 使用刚指定的配置项和数据显示图表
        this.chartLine.setOption(option);
      }
    }
  }
</script>
 
<style lang='less' scope>
    .line-wrap{
        width:50%;
        height:400px;
    }
</style>

4.echarts基础概念

1)echarts实例

一个网页中可以创建多个 echarts 实例,每个 echarts 实例 中可以创建多个图表和坐标系等等(用 option 来描述)。准备一个 DOM 节点(作为 echarts 的渲染容器),就可以在上面创建一个 echarts 实例。

2)系列(series)

一组数值以及他们映射成的图,一个 系列 包含的要素至少有:一组数值、图表类型(series.type)、以及其他的关于这些数据如何映射成图的参数。
echarts 里系列类型(series.type)就是图表类型。系列类型(series.type)至少有:line(折线图)、bar(柱状图)、pie(饼图)

3)组件(component)

echarts 中至少有这些组件:xAxis(直角坐标系 X 轴)、yAxis(直角坐标系 Y 轴)、grid(直角坐标系底板)、dataZoom(数据区缩放组件)、visualMap(视觉映射组件)、tooltip(提示框组件)、toolbox(工具栏组件)、series(系列)、...

5.echarts常用配置项和api

1)title标题组件,包含主标题和副标题


title: {
    text: 'Pie Chart',//主标题文本
    subtext: '纯属虚构',//副标题文本
    x: 'center',
    textStyle:{//主标题样式
      color: "#333",                          
      fontSize: 18
    },
    subtextStyle:{},//副标题样式
    itemGap: 10,//主副标题之间的间距
  }

2)legend图例组件


legend: {
    left:"center",//图例组件离容器左侧的距离
    top:"bottom",//图例组件离容器上侧的距离
    orient:"horizontal",//图例列表的布局朝向
    itemGap :20,//图例每项之间的间隔
    formatter: function (name) {//用来格式化图例文本,支持字符串模板和回调函数两种形式~~~~
        return 'Legend ' + name;
    },
    icon:'circle',//图例项的 icon
    data: [
        {
            icon: 'triangle',
            textStyle: {
              color: 'red'
            },
            name: '直接访问' 
        },
        '邮件营销', '联盟广告', '视频广告', '搜索引擎'],//图例的数据数组
  }

3)xAxis直角坐标系 grid 中的 x 轴


xAxis : [
        {
            type : 'category',//坐标轴类型
            boundaryGap : false,
            axisTick: {//坐标轴刻度相关设置
                show: false
            },
            data : ['周一','周二','周三','周四','周五','周六','周日']//类目数据
        }
    ]

4)yAxis直角坐标系 grid 中的 y 轴


yAxis : [
        {
            type : 'value',//坐标轴类型,`'value'` 数值轴,适用于连续数据
            axisTick: {
                show: false
            },
            name: '(人)'
        }
    ]

5)tooltip提示框组件


tooltip : {
    trigger: 'axis',//触发类型,'axis'坐标轴触发,主要在柱状图,折线图等会使用类目轴的图表中使用
    formatter: "{a} <br/>{b} : {c} ({d}%)",//模板变量有 `{a}`, `{b}`,`{c}`,`{d}`,`{e}`,分别表示系列名,数据名,数据值等
}

6)series系列列表,每个系列通过 type 决定自己的图表类型


A.series-line
 
series : [
    {
        name:'邮件营销',
        type:'line',
        stack: '总量',
        data:[120, 132, 101, 134, 90, 230, 210],//系列中的数据内容数组
        areaStyle:{//区域填充样式
            color:'red'
        },
        lineStyle:{//线条样式
            color:'#000'
        },
        emphasis:{//图形的高亮样式
            label:{
                color:'red'
            }
        }
    }
]
 
B.series-pie
series : [
    {
      name: '访问来源',
      type: 'pie',
      radius: ['50%', '70%'],//饼图的半径,数组的第一项是内半径,第二项是外半径
      center: ['50%', '50%'],//饼图的中心(圆心)坐标,数组的第一项是横坐标,第二项是纵坐标。支持设置成百分比,设置成百分比时第一项是相对于容器宽度,第二项是相对于容器高度
      roseType: false,//是否展示成南丁格尔图,通过半径区分数据大小
      data: [//系列中的数据内容数组
        {value: 335, name: '直接访问'},
        {value: 310, name: '邮件营销'},
        {value: 234, name: '联盟广告'},
        {value: 135, name: '视频广告'},
        {value: 1548, name: '搜索引擎'}
      ],
      animationEasing: 'cubicInOut',//初始动画的缓动效果
      animationDuration: 2600,//初始动画的时长
      label: {           
        emphasis: mylabel//高亮的扇区和标签样式
      }
    }

]

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持编程网。

--结束END--

本文标题: vue使用ECharts实现折线图和饼图

本文链接: https://www.lsjlt.com/news/136838.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • vue使用ECharts实现折线图和饼图
    在开发后台管理项目时,需要统计后台用户数据,以折线图和饼图的形式显示,这边采用apache-echarts来实现需求。 1.安装echarts和引入 npm install ec...
    99+
    2024-04-02
  • vue使用echarts实现折线图
    本文实例为大家分享了vue使用echarts实现折线图的具体代码,供大家参考,具体内容如下 效果图: 代码: <template>             <di...
    99+
    2024-04-02
  • Vue2利用echarts绘制折线图,饼图和大图
    目录chartPan.vue使用 chartPan.vue 之饼图使用 chartPan.vue 之折线图展开大图大图组件 maxChart.vue折线图,饼图 chartPan.v...
    99+
    2023-05-18
    Vue2 echarts绘制折线图 Vue2 echarts绘制饼图 Vue2 echarts绘制大图 Vue2 echarts绘制图表
  • vue怎么使用echarts实现折线图
    这篇文章主要讲解了“vue怎么使用echarts实现折线图”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“vue怎么使用echarts实现折线图”吧!效果图:代码:<template&g...
    99+
    2023-06-29
  • vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图
    今天小编给大家分享一下vue中怎么使用echarts和echarts-gl实现3D饼图环形饼图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一...
    99+
    2023-07-05
  • vue+echarts实现多条折线图
    本文实例为大家分享了vue+echarts实现多条折线图的具体代码,供大家参考,具体内容如下 数据未使用json格式,直接写在页面 大致效果 页面代码: <template&...
    99+
    2024-04-02
  • Vue+Echarts实现简单折线图
    本文实例为大家分享了Vue+Echarts实现简单折线图的具体代码,供大家参考,具体内容如下 Vue+Echarts实现一个折线图,打开vue的项目: 1、在项目里面安装echart...
    99+
    2024-04-02
  • Vue+Echarts实现柱状折线图
    本文实例为大家分享了Vue+Echarts实现柱状折线图的具体代码,供大家参考,具体内容如下 vue处理json数据渲染柱状折线图 HTML: <div id="lineCha...
    99+
    2024-04-02
  • Vue导入Echarts实现折线图
    目录前言折线图特点折线图实现步骤折线图常见效果标记线条控制填充风格紧挨边缘缩放-脱离0值比例堆叠图前言 本篇来学习下折线图的实现 折线图特点 折线图更多的使用来呈现数据随时间的变化趋...
    99+
    2022-12-15
    Vue Echarts实现折线图 Vue折线图 Vue Echarts
  • 怎么用Vue+Echarts实现简单折线图
    本文小编为大家详细介绍“怎么用Vue+Echarts实现简单折线图”,内容详细,步骤清晰,细节处理妥当,希望这篇“怎么用Vue+Echarts实现简单折线图”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。Vue+E...
    99+
    2023-06-29
  • Vue导入Echarts实现折线散点图
    本文实例为大家分享了Vue导入Echarts实现折线散点图的具体代码,供大家参考,具体内容如下 效果图: 一、vue-cli中导入echarts 通过命令:npm install ...
    99+
    2024-04-02
  • Vue+Echarts实现绘制动态折线图
    目录1 引入Echarts1.1 安装1.2 引入1.3 基本使用2 动态折线图2.1 基本折线图2.2 动态折线图补充1 引入Echarts 1.1 安装 使用如下命令通过 npm...
    99+
    2023-03-19
    Vue Echarts绘制动态折线图 Vue Echarts绘制折线图 Vue Echarts 折线图 Vue Echarts
  • vue+echarts如何实现多条折线图
    小编给大家分享一下vue+echarts如何实现多条折线图,希望大家阅读完这篇文章之后都有所收获,下面让我们一起去探讨吧!具体内容如下数据未使用json格式,直接写在页面大致效果页面代码:<template> &nbs...
    99+
    2023-06-29
  • 怎么使用Vue+Echarts实现绘制动态折线图
    今天小编给大家分享一下怎么使用Vue+Echarts实现绘制动态折线图的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。1 引入...
    99+
    2023-07-05
  • 怎么使用vue+echarts绘制折线图、柱状图和扇形图
    这篇“怎么使用vue+echarts绘制折线图、柱状图和扇形图”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“怎么使用vue+...
    99+
    2023-07-05
  • Vue导入Echarts如何实现折线散点图
    这篇文章主要介绍了Vue导入Echarts如何实现折线散点图,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。效果图:一、vue-cli中导入echarts通过命令:npm in...
    99+
    2023-06-25
  • 怎么使用Vue+Echarts绘制饼图
    这篇文章主要介绍“怎么使用Vue+Echarts绘制饼图”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“怎么使用Vue+Echarts绘制饼图”文章能帮助大家解决问题。1 引入Echarts1.1 安...
    99+
    2023-07-05
  • vue+echarts实带渐变效果的折线图
    本文实例为大家分享了vue+echarts实带渐变效果折线图的具体代码,供大家参考,具体内容如下 1、安装echarts npm install echarts --save 2、...
    99+
    2024-04-02
  • 基于Vue+echarts编写一个折线图
    以下是在Vue中使用ECharts创建折线图的示例代码: 1.安装 ECharts: npm install echarts --save 2.导入 ECharts: import ...
    99+
    2023-05-18
    Vue echarts编写折线图 Vue echarts折线图 Vue echarts
  • vue使用Highcharts实现3D饼图
    本文实例为大家分享了vue使用Highcharts实现3D饼图的具体代码,供大家参考,具体内容如下 1.安装vue-highcharts和highcharts npm install...
    99+
    2024-04-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作