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

Echarts使用dataTool写可自定义横坐标的盒须图(箱线图)

在vue2中的完整盒须图组件代码

可自适应浏览器窗体变化,可自定义横坐标,无需写箱线图数据处理逻辑。dataTool是echarts自带的,无需额外安装,只要引入。

<template><span><div ref="BoxPlotChart" id="box-plot"></div></span>
</template><script>
import dataTool from "echarts/extension/dataTool";export default {name: "BoxplotChart",props: {boxplotData: {type: Object,required: true,},},data() {return {option: {title: {text: "",left: 10, //标题显示的位置},tooltip: {trigger: "item",axisPointer: {type: "cross",},},grid: {left: "10%",right: "10%",bottom: "15%",},xAxis: {data: [],type: "category",boundaryGap: true,nameGap: 30,splitArea: {show: false,},splitLine: {show: false,},},yAxis: {type: "value",name: "",splitArea: {show: true,},},series: [{name: "非异常值",type: "boxplot",data: [],tooltip: {//以下是设置tooltip的显示数据和显示格式formatter: function (param) {return [" " + param.name + ": ","上限: " + param.data[5],"上四分位数: " + param.data[4],"中位数: " + param.data[3],"下四分位数: " + param.data[2],"下限: " + param.data[1],].join("<br/>");},},},{name: "异常值",type: "scatter",data: [],},],},};},mounted() {this.initChart();},watch: {boxplotData: function (newVal, oldVal) {this.initChart();},},methods: {initChart() {//使用echarts的dataTool准备数据let dataTmp = this.$echarts.dataTool.prepareBoxplotData(this.boxplotData.boxData);//设置option//设置非异常值数据this.option.series[0].data = dataTmp.boxData;//设置异常值数据this.option.series[1].data = dataTmp.outliers;//根据传入的boxplotData数据动态设置//设置盒须图标题this.option.title.text = this.boxplotData.title;//设置横坐标this.option.xAxis.data = this.boxplotData.xAxisData;//设置纵坐标this.option.yAxis.name = this.boxplotData.yAxisName;const myChart = this.$echarts.init(this.$refs.BoxPlotChart);// 监听窗体大小变化实现自适应window.addEventListener("resize", function () {myChart.resize();});myChart.setOption(this.option);},},
};
</script><style scoped lang="scss">
#box-plot {width: 100%;height: 100%;
}
</style>
http://www.lryc.cn/news/338482.html

相关文章:

  • SpringBoot编写一个SpringTask定时任务的方法
  • 【Qt编译】ARM环境 Qt5.14.2-QtWebEngine库编译 (完整版)
  • vue简单使用二(循环)
  • JavaScript入门--变量
  • 给自己的机器人部件安装单目摄像头并实现gazebo仿真功能
  • 用AI的视角看世界
  • MATLAB 自定义实现点云法向量和曲率计算(详细解读)(64)
  • 拯救鲨鱼!Helping wireshark!wireshark未响应解决方法
  • 设计模式之责任链讲解
  • K8s: 将一个节点移出集群和相关注意事项
  • Python学习笔记24 - 学生信息管理系统
  • 【物联网应用案例】某制造企业电锅炉检测项目
  • 设计模式实践
  • 嵌入式学习52-ARM1
  • Java(MySQL基础)
  • 预约系统的使用
  • 酷开科技OTT大屏营销:开启新时代的营销革命
  • 网络安全(防火墙,IDS,IPS概述)
  • 安装IntelliJ IDEA插件教程
  • 大厂基础面试题(之四)
  • 为什么我们应该切换到Rust
  • 基于Linux定时任务实现的MySQL周期性备份
  • 【Altium Designer 20 笔记】隐藏PCB上的信号线(连接线)
  • 【Git教程】(九)版本标签 —— 创建、查看标签,标签的散列值,将标签添加到日志输出中,判断标签是否包含特定的提交 ~
  • MemberPress配置和使用会员登录页面
  • 分享一个预测模型web APP的功能模块和界面的设计
  • 智慧公厕是智慧城市建设中不可或缺的一部分
  • leetcode热题100.爬楼梯(从二进制到快速幂)
  • 使用Docker定时备份数据
  • conda搭建与管理python环境