vue+echarts绘制折线图、柱状图和扇形图教程

 更新时间:2023年03月27日 16:30:15   作者:JeffreytheCoder  
这篇文章主要介绍了vue+echarts绘制折线图、柱状图和扇形图教程,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教

前端时间在前端岗位上要实现Vue项目中的echarts画图,今天来分享下vue+echarts折线图、柱状图和扇形图的方法。

每种图的echarts配置差不多一致,但根据图种需进行指定选项的改动。

一、折线图

折线图中,series要包含每条折线的数据。

<template>
    <div id="myChart"></div>
</template>

<script>
import echarts from 'echarts'	// 引入echarts
export default {
    name: 'LineChart',
    data () {
        return {
            echartsOption: {	// echarts选项,所有绘图数据和样式都在这里设置
                legend: {	//图表上方的图例
                    data: ['腾讯', '阿里巴巴', '华为', '字节跳动']
                },
                xAxis: {
                    type: 'category',
                    data: ['Mon', 'Tue', 'Wed', 'Thu', 'Fri', 'Sat', 'Sun'],   // x轴数据
                    name: '日期',   // x轴名称
                    nameTextStyle: {	// x轴名称样式
                        fontWeight: 600,
                        fontSize: 18
                    }
                },
                yAxis: {
	                type: 'value',
	                name: '市值',   // y轴名称
	                nameTextStyle: {	// y轴名称样式
	                    fontWeight: 600,
	                    fontSize: 18
	                }
                },
                tooltip: {   //鼠标放到图上的数据展示样式
                    trigger: 'axis'
                },
                series: [	//每条折线的数据系列
                    {
                        name: '腾讯',
                        data: [820, 932, 901, 934, 1290, 1330, 1320],
                        type: 'line'
                    },
                    {
                        name: '阿里巴巴',
                        data: [620, 711, 823, 934, 1445, 1456, 1178],
                        type: 'line'
                    },
                    {
                        name: '华为',
                        data: [612, 920, 1140, 1160, 1190, 1234, 1321],
                        type: 'line'
                    },
                    {
                        name: '字节跳动',
                        data: [234, 320, 453, 567, 789, 999, 1200],
                        type: 'line'
                    }
                ],
            }
        }
    },
    mounted () {
        let myChart = echarts.init(document.getElementById('myChart'), 'light')	// 初始化echarts, theme为light
        myChart.setOption(this.echartsOption)	// echarts设置选项
    }
}
</script>

<style>
#myChart{
  width: 100%;
  height: 500px;
  margin: 0 auto;
  margin-top: 5%;
}
</style>

效果图

在这里插入图片描述

二、柱状图

柱状图中,要在series加入每个bar的数据。

<template>
    <div id="myChart"></div>
</template>

<script>
import echarts from 'echarts'	// 引入echarts
export default {
    name: 'LineChart',
    data () {
        return {
            echartsOption: {	// echarts选项,所有绘图数据和样式都在这里设置
                xAxis: {
                    type: 'category',
                    data: ['腾讯', '阿里巴巴', '华为', '字节跳动'],   // x轴数据
                    name: '日期',   // x轴名称
                    nameTextStyle: {	// x轴名称样式
                        fontWeight: 600,
                        fontSize: 18
                    }
                },
                yAxis: {
	                type: 'value',
	                name: '公司盈利率',   // y轴名称
	                nameTextStyle: {	// y轴名称样式
	                    fontWeight: 600,
	                    fontSize: 18
	                }
                },
                tooltip: {   //鼠标放到图上的数据展示样式
                    trigger: 'axis'
                },
                series: [{  //series中加入每个bar的数据
                  name: '公司盈利率',
                  type: 'bar',
                  barWidth: '60%',
                  data: [0.35, 0.2, 0.25, 0.15],
              }],
            }
        }
    },
    mounted () {
        let myChart = echarts.init(document.getElementById('myChart'), 'light')	// 初始化echarts, theme为light
        myChart.setOption(this.echartsOption)	// echarts设置选项
    }
}
</script>

<style>
#myChart{
  width: 100%;
  height: 500px;
  margin: 0 auto;
  margin-top: 5%;
}
</style>

效果图

在这里插入图片描述

三、扇形图

扇形图中不需要xAxis和yAxis,一个series的data加入每个类别的数据,格式为 {value, name}

<template>
    <div id="myChart"></div>
</template>

<script>
import echarts from 'echarts'	// 引入echarts
export default {
    name: 'PieChart',
    data () {
        return {
            echartsOption: {	// echarts选项,所有绘图数据和样式都在这里设置
                legend: {	//图表上方的图例
                    data: ['腾讯', '阿里巴巴', '华为', '字节跳动']
                },
                tooltip: {   //鼠标放到图上的数据展示样式
                    trigger: 'axis'
                },
                series: [{
                  name: '公司市值占比',
                  type: 'pie',
                  barWidth: '60%',
                  data: [	// 扇形图数据格式: {value, name}
                    {value: 0.35, name: '腾讯'},		// value不一定是比例,echarts会自动转换
                    {value: 0.2, name: '阿里巴巴'},
                    {value: 0.25, name: '华为'},
                    {value: 0.2, name: '字节跳动'},
                  ],
                }],
            }
        }
    },
    mounted () {
        let myChart = echarts.init(document.getElementById('myChart'), 'light')	// 初始化echarts, theme为light
        myChart.setOption(this.echartsOption)	// echarts设置选项
    }
}
</script>

<style>
#myChart{
  width: 100%;
  height: 500px;
  margin: 0 auto;
  margin-top: 5%;
}
</style>

效果图

在这里插入图片描述

这样就绘制出简单的echarts图啦!

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • uni app仿微信顶部导航条功能

    uni app仿微信顶部导航条功能

    这篇文章主要介绍了uni-app自定义导航栏按钮|uniapp仿微信顶部导航条功能,本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-09-09
  • Vue2异步更新及nextTick原理详解

    Vue2异步更新及nextTick原理详解

    Vue2的异步更新机制是基于JavaScript的事件循环机制实现的。nextTick方法则是在DOM更新后执行回调函数。本文详细介绍了Vue2的异步更新机制和nextTick原理,对于理解Vue2的渲染机制和优化性能有很大的帮助。
    2023-04-04
  • vue-element内table插入超链接a标签的使用

    vue-element内table插入超链接a标签的使用

    在Vue Element的table组件中插入超链接,可以使用<el-link>标签替代传统的<a>标签,实现更加整洁的UI设计,具体操作是替换原有的<span>标签,直接使用<el-link>进行超链接的插入,使得链接样式与Element UI保持一致
    2024-09-09
  • element tab标签管理路由页面的项目实践

    element tab标签管理路由页面的项目实践

    本文主要介绍了element tab标签管理路由页面的项目实践,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-08-08
  • Electron vue的使用教程图文详解

    Electron vue的使用教程图文详解

    Electron相当于一个浏览器的外壳,可以把网页程序嵌入到壳里面,可以运行在桌面上的一个程序,可以把网页打包成一个在桌面运行的程序。这篇文章主要介绍了electron-vue多显示屏下将新窗口投放是其他屏幕 ,需要的朋友可以参考下
    2019-07-07
  • vue 动态修改a标签的样式的方法

    vue 动态修改a标签的样式的方法

    这篇文章主要介绍了vue 动态修改a标签的样式的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-01-01
  • Elementui如何限制el-input框输入小数点

    Elementui如何限制el-input框输入小数点

    这篇文章主要介绍了Elementui如何限制el-input框输入小数点,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-08-08
  • 详细聊聊vue中组件的props属性

    详细聊聊vue中组件的props属性

    父子组件之间的通信就是props down,events up,父组件通过属性props向下传递数据给子组件,子组件通过事件events 给父组件发送消息,这篇文章主要给大家介绍了关于vue中组件的props属性的相关资料,需要的朋友可以参考下
    2021-11-11
  • 详解vue表单验证组件 v-verify-plugin

    详解vue表单验证组件 v-verify-plugin

    本篇文章主要介绍了详解vue表单验证组件 v-verify-plugin,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-04-04
  • Vue常见错误Error in mounted hook解决办法

    Vue常见错误Error in mounted hook解决办法

    这篇文章主要给大家介绍了关于Vue常见错误Error in mounted hook的解决办法,出现这样的问题,会发现跟声明周期钩子有关系,文中通过示例代码介绍的非常详细,需要的朋友可以参考下
    2023-07-07

最新评论