当前位置: 首页 > news >正文

vue Echart使用

一、在vue中使用Echarts

1.安装Echarts

npm install echarts --save

2.准备一个呈现图表的盒子

给盒子起名字是建议使用id选择器
这个盒子通常来说就是我们熟悉的 div ,这个 div 决定了图表显示在哪里,盒子一定要指定宽和高

<div id="main" style="width: 600px;height:400px;"></div>

3.初始化 echarts 实例对象

在这个步骤中, 需要指明图表最终显示在哪里的DOM元素

<script>
import * as echarts from 'echarts'
//准备数据并且配置
var option = {title: {text: 'ECharts 入门示例'},tooltip: {},legend: {data: ['销量']},xAxis: {data: ['衬衫', '羊毛衫', '雪纺衫', '裤子', '高跟鞋', '袜子']},yAxis: {},series: [{name: '销量',type: 'bar',data: [5, 20, 36, 10, 10, 20]}]};
//填充上面div盒子
mounted() {var myChart = echarts.init(document.getElementById("main"))myChart.setOption(option)}
</script>

这样已经可以实现一个提前定义好数据的一个可视化图形,如果要实现前后端数据交互,请继续往下看

4.axios实现前后端数据交互

1、一定要指定宽度和高度

<div id="pie"></div>
#pie{height:100px;width:100px;
}

2、初始图形数据准备数据

var option = {xAxis: {type: 'category',data: []},yAxis: {},series: [{type: 'bar',data: []}]
};

3、数据赋值

export const getGoodsApi = () => { return http({url: '/goods',method: 'get'})
}
<script>
import { getGoodsApi } from '@/api/api';methods:{getGoods(){var myChart = echarts.init(document.getElementById("pie"))getGoodsApi().then(res => {        option.series[0].data = res.data.map(v => v.num) //这里series是个数组必须加上[0]option.xAxis.data = res.data.map(v => v.name)myChart.setOption(option)})}},
mounted() {this.getGoods()}
</script>

这样数据就通顺了

4、后端传递数据的转换

{"code": 200,"msg": "success","data": [{"name": "huawei","num": 100000},{"name": "xiaomi","num": 20000},{"name": "oppo","num": 450000},{"name": "iphone","num": 2500},{"name": "vivo","num": 320000},{"name": "honor","num": 500000},{"name": "readme","num": 341111}]
}

echarts里面的数据都是数组,如何把name,num的属性值全部放到数组里面

var names = data.map(v => v.name)
var nums = data.map(v => v.num) 
namesnums
在这里插入图片描述在这里插入图片描述

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 数据结构之——栈
  • 【LeetCode周赛】第 416 场
  • layui时间选择器选择周 日月季度年
  • java.nio.ByteBuffer的 capacity, limit, position, mark
  • 【计算机网络强化】计网强化笔记
  • 【计算机网络 - 基础问题】每日 3 题(二十二)
  • GP2D12红外距离传感器
  • MiniCPM3-4B | 笔记本电脑运行端侧大模型OpenBMB/MiniCPM3-4B-GPTQ-Int4量化版 | PyCharm环境
  • 分库分表-分页排序查询
  • Android开发高频面试题之——Android篇
  • 0-Mapbox简介及产品类型
  • Springboot Mybatis条件查询
  • 计算机网络 --- Socket 编程
  • 24.9.23学习笔记
  • 打造以太坊数据监控利器:InfluxDB与Grafana构建Geth可视化分析平台
  • JS中 map, filter, some, every, forEach, for in, for of 用法总结
  • CentOS6 编译安装 redis-3.2.3
  • ES6系列(二)变量的解构赋值
  • iOS高仿微信项目、阴影圆角渐变色效果、卡片动画、波浪动画、路由框架等源码...
  • JavaScript DOM 10 - 滚动
  • React的组件模式
  • 百度小程序遇到的问题
  • 电商搜索引擎的架构设计和性能优化
  • 看完九篇字体系列的文章,你还觉得我是在说字体?
  • 系统认识JavaScript正则表达式
  • 一些css基础学习笔记
  • 在Mac OS X上安装 Ruby运行环境
  • ​LeetCode解法汇总518. 零钱兑换 II
  • #etcd#安装时出错
  • #Linux(Source Insight安装及工程建立)
  • $L^p$ 调和函数恒为零
  • (2)从源码角度聊聊Jetpack Navigator的工作流程
  • (2022版)一套教程搞定k8s安装到实战 | RBAC
  • (k8s)Kubernetes本地存储接入
  • (LeetCode C++)盛最多水的容器
  • (分布式缓存)Redis持久化
  • (附源码)计算机毕业设计ssm基于B_S的汽车售后服务管理系统
  • (原創) 人會胖會瘦,都是自我要求的結果 (日記)
  • (转)linux 命令大全
  • (最全解法)输入一个整数,输出该数二进制表示中1的个数。
  • .net 设置默认首页
  • .net/c# memcached 获取所有缓存键(keys)
  • ??eclipse的安装配置问题!??
  • @Builder用法
  • [2009][note]构成理想导体超材料的有源THz欺骗表面等离子激元开关——
  • [8-23]知识梳理:文件系统、Bash基础特性、目录管理、文件管理、文本查看编辑处理...
  • [Angular] 笔记 18:Angular Router
  • [BT]BUUCTF刷题第8天(3.26)
  • [C/C++]数据结构 深入挖掘环形链表问题
  • [c++刷题]贪心算法.N01
  • [ExtJS5学习笔记]第三十节 sencha extjs 5表格gridpanel分组汇总
  • [Flutter]WindowsPlatform上运行遇到的问题总结
  • [Hadoop in China 2011] Hadoop之上 中国移动“大云”系统解析
  • [java][SSM]整合Mybatis3、Spring4 和 SpringMVC4 的步骤
  • [JS] node.js 入门