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

Vue简单使用Echart图表柱形图 vue使用柱形图 vue使用 echart图表柱形图 vue使用柱形图

Vue简单使用Echart图表柱形图 vue使用柱形图 vue使用 echart图表柱形图 vue使用柱形图

  • 1、安装依赖
  • 2、页面Demo使用
  • 3、效果图

1、安装依赖

官方文档:https://echarts.apache.org/zh/option.html#title

官方在线示例:https://echarts.apache.org/examples/zh/index.html

npm i echarts

2、页面Demo使用

<template><div class="main-div"><!-- 图表渲染的DIV --><div id="normal" /></div>
</template><script>
import echarts from 'echarts'export default {// 组件名称name: 'Index',// import引入的组件需要注入到对象中才能使用components: {},// 父组件传递值props: {},data() {// 这里存放数据return {normal: null}},// 监听属性 类似于data概念computed: {},// 监控data中的数据变化watch: {},// 生命周期 - 创建完成(可以访问当前this实例)created() {},// 生命周期 - 挂载完成(可以访问DOM元素)mounted() {// 初始化一个 柱形图 Demo传参示例 - 不建议在 Vue生命周期加载中初始化图表,性能影响很大,建议懒加载,手动点击然后初始化const data = [['value', 'title'],[58212, 'Matcha Latte'],[78254, 'Milk Tea'],[41032, 'Cheese Cocoa'],[12755, 'Cheese Brownie'],[20145, 'Matcha Cocoa'],[79146, 'Tea'],[91852, 'Orange Juice'],[101852, 'Lemon Juice'],[20112, 'Walnut Brownie']]this.initChart('主要标题', '简要标题', data, document.getElementById('normal'))},beforeCreate() { }, // 生命周期 - 创建之前beforeMount() { }, // 生命周期 - 挂载之前beforeUpdate() { }, // 生命周期 - 更新之前updated() { }, // 生命周期 - 更新之后beforeDestroy() { }, // 生命周期 - 销毁之前destroyed() { }, // 生命周期 - 销毁完成activated() { },// 方法集合methods: {/*** 初始化图表* @param title    图表主要标题* @param subtext  图表简介标题* @param data     数据列表 - 格式为 二维数组* @param chartDom 要渲染图表 的DOM元素: document.getElementById('')* 示例:value 表示X轴的数据, title表示 Y轴的标题*      ['value', 'title'],[58212, 'Matcha Latte'],[78254, 'Milk Tea'],[41032, 'Cheese Cocoa'],[12755, 'Cheese Brownie'],[20145, 'Matcha Cocoa'],[79146, 'Tea'],[91852, 'Orange Juice'],[101852, 'Lemon Juice'],[20112, 'Walnut Brownie']*/initChart(title, subtext, data, chartDom) {// 计算图表容器高度,自动根据数据大小改变而改变let containerWidth = 200if (data.length <= 1) {containerWidth = 200} else {containerWidth = data.length * 40 // 假设每个柱形的宽度/高度为 20}// 销毁 已经初始化的元素try {// 如果需要同时处理多个echart实例,需要增加额外处理逻辑if (this.normal !== null) {this.echart.dispose()}} catch (error) {console.info('如果是第一次初始化,全局实例是null,销毁会异常')}this.normal = echarts.init(chartDom, { devicePixelRatio: 1 }, {renderer: 'svg ', // 使用 svg 渲染可能比使用 canvas  渲染更高效,svg渲染比canvas生成的图表清晰width: 800,height: containerWidth})const option = {animation: false, // 禁用动画效果title: {text: title,subtext: subtext},dataset: {source: data},grid: { containLabel: true },xAxis: { name: '不良率: %' },yAxis: { type: 'category' },series: [{type: 'bar',barWidth: '50%',barCategoryGap: 10, // 原理是减小柱状图的宽度encode: {// Map the "value" column to X axis.x: 'value',// Map the "amount" column to Y axis.y: 'title'},label: {show: true, // 设置为 true 显示标签position: 'top', // 设置标签位置,可以是 'top', 'insideTop', 'insideBottom' 等color: 'black', // 设置标签颜色distance: 0, // 距离图形元素的距离。formatter: function(params) {// 格式化 数值内容return params.data[0] + ' %'},padding: [4, 5],lineHeight: 26,// eslint-disable-next-line no-dupe-keysposition: 'right',// eslint-disable-next-line no-dupe-keysdistance: 5,fontSize: 12},showBackground: true,itemStyle: {color: new echarts.graphic.LinearGradient(0, 0, 0, 1, [{ offset: 0, color: '#188df0' },{ offset: 0.5, color: '#188df0' },{ offset: 1, color: '#188df0' }])}}]}option && this.normal.setOption(option)}}
}
</script>

3、效果图

在这里插入图片描述

http://www.lryc.cn/news/226122.html

相关文章:

  • centos 7.9系统安装老版本jenkins,并解决插件问题
  • BMVC 23丨多模态CLIP:用于3D场景问答任务的对比视觉语言预训练
  • 《嵌入式虚拟化技术与应用》:深入浅出阐述嵌入式虚拟机原理,实现“小而能”嵌入式虚拟机!
  • 【Java开发】之获取客户端真实 IP 地址
  • Linux RPM包安装、卸载和升级
  • ROS 多级tf坐标转换
  • ceph rados对象存储索引残留问题排查与处理
  • 十年测试工龄,揭露软件测试痛点以及分析
  • 【星海出品】flask(三) 组件
  • 关于卷积神经网络的池化层(pooling)
  • GNU链接脚本详解
  • 酷柚易汛ERP-账户管理操作指南
  • 函数的连续性
  • Pandas groupby方法中的group_keys属性
  • win 命令替代鼠标的操作
  • Shopee活动取消规则是什么?shopee官方促销活动怎么取消?
  • 安卓常见设计模式2------构建者模式(Kotlin版)
  • redis主从复制+哨兵
  • html动态爱心超文本标记代码,丝滑流畅有特效,附源码
  • 力扣:162. 寻找峰值(Python3)
  • 【Python】20大报告生成词云
  • 目标检测YOLO实战应用案例100讲-基于无人机的轻量化目标检测系统设计
  • ansible-第二天
  • 【测试工具】UnixBench 测试
  • 软件测试金融项目,在测试的时候一定要避开的一些雷区
  • 顺序图——画法详解
  • easyexcel==省市区三级联动
  • Linux进程控制(二)--进程等待(一)
  • 【C++】C++11常用特性梳理
  • 修改iframe生成的pdf的比例