Echarts

Echarts

echarts 可以对数据进行可视化显示,可以以图表的形式显示。

安装依赖

npm install echarts -S
或者使用淘宝的镜像
npm install -g cnpm --registry=https://registry.npm.taobao.org
cnpm install echarts -S

创建图表

在 main.js中引入
// 引入echarts
import * as echarts from 'echarts'
Vue.prototype.$echarts = echarts
在vue文件中 先创建 dom 区域
<div id="myChart" :style="{width:'600px',height:'300px'}"></div>
在vue文件中 script 部分进行具体的编写

**注意:**我们要在mounted生命周期函数中实例化echarts对象。因为我们要确保dom元素已经挂载到页面中

具体步骤:

  • 基于准备好的画图表的地方,初始化echarts实例
  • 指定图表的配置项和数据
  • 使用刚指定的配置项和数据显示图表
<script>

export default {
    name: 'echartLearn',
    data(){
        return{
        }
    },
    mounted(){
        this.drawLine();
    },
    methods:{
        drawLine(){
            // 基于准备好的画图表的地方,初始化echarts实例   --> 此处, 除了默认主题外,内置了两套主题,分别为 light 和 dark
            let myChart = this.$echarts.init(document.getElementById('myChart'));
            
            // 指定图表的配置项和数据
            let option = {
                title:{text:'echarts learn'},// 图表标题
                tooltip:{}, // 配置提示信息
                legend:{ // 图例设置  还可以控制 其 显不显示
                    data: [{
                        name:'销量',
                        icon:'circle',
                        textStyle:{
                            color:'red'
                        }
                    }]   
                },
                // x 轴的显示项
                xAxis:{
                    data:["衬衫","羊毛衫","雪纺衫","裤子","高跟鞋","袜子"]
                },
                // y 轴的显示项
                yAxis:{},
                // 系列列表,通过 type 决定自己的图表类型
                series:[{
                    name:'销量',  // 系列名称
                    type:'bar',  // 系列图表类型
                    data:[5,20,36,10,10,20]  // 系列中的数据内容
                }]
            }
            // 使用刚指定的配置项和数据显示图表
            myChart.setOption(option);
        }
    }
}
</script>

显示效果:
在这里插入图片描述

另外一个例子: 实现饼图
<script>

export default {
    name: 'echartLearn',
    data(){
        return{
            
        }
    },
    mounted(){
        this.drawLine();
    },
    methods:{
        drawLine(){
            // 基于准备好的画图表的地方,初始化echarts实例   --> 此处, 除了默认主题外,内置了两套主题,分别为 light 和 dark
            let myChart = this.$echarts.init(document.getElementById('myChart'),'dark');
            let pieOption = {
                title:{text:'echarts learn pie'},// 图表标题
                series:[
                    {
                        name:'访问来源',
                        type:'pie',  // 设置图表类型为饼图
                        radius:'55%', // 饼图的半径,外半径为可视区尺寸
                        // roseType:'angle', // 将饼图显示成南丁格尔图
                        data:[
                            {value:235,name:'视频广告'},
                            {value:274,name:'联盟广告'},
                            {value:310,name:'邮件营销'},
                            {value:335,name:'直接访问'},
                            {value:400,name:'搜索引擎'}
                        ],
                        // itemStyle 可以设置阴影、透明度、颜色、边框颜色、边框宽度等信息
                        itemStyle:{ 
                            normal:{
                                shadowBlur:200, // 阴影
                                ShadowColor:'rgba(0,0,0,0.5)' // 阴影的颜色
                            }
                        }
                    }
                ]
            }
            // 使用刚指定的配置项和数据显示图表
            myChart.setOption(pieOption);
        }
    }
}
</script>

显示效果:

在这里插入图片描述

图表的种类
type 决定自己的图表类型
    bar 柱状 / 条形图
    line 折线 / 面积图
    pie 饼图
    scatter 散点图
    effectScatter 带有涟漪特效动画的散点
    radar 雷达图
    tree 树形图
    treemap 树型图
    sunburst 旭日图
    boxplot 箱型图
    candlestick k线图
    heatmap 热力图
    map 地图
    parallel 平行坐标系的系列
    lines 线图
    graph 关系图
    sankey 桑基图
    funnel 漏斗图
    gauge 仪表盘
    pictorualBar 象形柱图
    themeRiver 主题河流
    custom 自定义系列

/*
    所有数据的更新都通过 setOption 实现,那么只需要设置一个 定时器 定时 去 获取数据,setOption填入数据,
    而不用考虑数据到底产生了哪些变化,Echarts 会找到两组数据之间的差异,然后通过合适的动画去 表现 数据的变化。
*/

可能出现的问题

一开始编写完echarts,但页面中迟迟不显示,基于这个问题的解决。

如果echarts启动成功了,虽然在 template 中只写了一行 div,但在页面中的显示如下:


它会被包围在一个新的div中,并且里面会多一个canvas。

那么如果未显示canvas的话,就证明echarts没有启动成功

此时需要检查 是否在 mounted() 中进行实例化,因为我们要确保dom元素已经挂载到页面中。



希望可以帮助到你

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值