用Vue3和Plotly.js实现3D小提琴图的交互式可视化

news2024/9/21 2:37:14

Alt

本文由ScriptEcho平台提供技术支持

项目地址:传送门

小提琴图:绘制性别账单分布

应用场景

小提琴图是一种数据可视化工具,用于比较不同组别的分布。它结合了箱线图和核密度估计,可以直观地展示数据的中心趋势、离散度和分布形状。小提琴图常用于比较不同性别、年龄组或其他类别的数据分布。

基本功能

此代码使用 Plotly.js 库创建了一个小提琴图,展示了不同性别(男性和女性)的账单总额分布。小提琴图提供了以下信息:

  • 中心趋势: 中值(白线)和均值(黑线)
  • 离散度: 四分位数范围(框)和上下四分位数范围(须)
  • 分布形状: 核密度估计(填充区域)

功能实现步骤

1. 导入依赖项
import Plotly from 'plotly.js-dist'
import { onMounted } from 'vue'
2. 准备数据

数据包含不同性别和账单总额的信息。我们将其存储在 data 数组中。

3. 定义布局

布局对象定义了小提琴图的整体外观,包括标题、轴标签和图例。

4. 创建小提琴图
Plotly.newPlot("myDiv", data, layout)

关键代码分析

4.1 数据跟踪

每个 trace 对象代表一个性别组的分布。它包含以下关键属性:

  • x: 账单总额数据
  • y0: 性别类别(“女性”或“男性”)
  • type: 图形类型(“小提琴”)
  • side: 分布位置(“正面”或“负面”)
  • name: 组名称(“女性”或“男性”)
4.2 布局属性

布局对象包含以下关键属性:

  • hovermode: 悬停交互模式(“最近”)
  • width: 图形宽度
  • yaxis: y 轴属性(显示网格线)
  • title: 图形标题
  • legend: 图例属性(缩小组间距)
  • violingap: 小提琴图之间的间距
  • violingroupgap: 组间的小提琴图之间的间距
  • violinmode: 小提琴图模式(“叠加”)
  • height: 图形高度

总结与展望

此代码生成了一个交互式小提琴图,展示了不同性别账单总额的分布。它提供了对数据分布的全面了解,可以用于识别模式和趋势。

未来扩展:

  • 添加其他类别(例如年龄组或收入水平)以进行更全面的比较

  • 探索不同的配色方案和形状以提高可读性

  • 实现交互式功能,例如缩放、平移和筛选数据

    更多组件:

    在这里插入图片描述


    在这里插入图片描述

    获取更多Echos

    本文由ScriptEcho平台提供技术支持

    项目地址:传送门

    扫码加入AI生成前端微信讨论群:

扫码加入群聊

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1911617.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

蚂蚁百灵大模型:多模态能力让大模型像人一样理解感知

7月5日,在2024世界人工智能大会“可信大模型助力产业创新发展”论坛上,蚂蚁集团公布其自研百灵大模型最新研发进展:百灵大模型已具备能“看”会“听”、能“说”会“画”的原生多模态能力,可以直接理解并训练音频、视频、图、文等…

【C++】C++入门基础--命名空间,缺省参数,函数重载

文章目录 前言一、C是什么?二、C发展历史C版本更新C参考文档 三、C基本语法1.第一个C程序2.命名空间2.1命名空间的价值2.2命名空间的定义2.3命名空间的使用 3.C的输入与输出4.缺省参数5.函数重载 总结 前言 在编程的浩瀚宇宙中,C犹如一颗璀璨的明星&…

MySQL手注之布尔型盲注详解

布尔型盲注简介 基于布尔型SQL盲注即在SQL注入过程中,应用程序仅仅返回True(页面)和False(页面)。 这时,我们无法根据应用程序的返回页面得到我们需要的数据库信息。但是可以通过构造逻辑判断(…

C++语言学习精简笔记(包含C++20特性)

目录 1 C新语法C与CC编译运行String编程范式C基础类型**自动类型推导**统一对象初始化:Uniform Initialization 控制结构if语句for语句switch语句namespace 2 函数函数声明形式参数函数参数传递的选择函数返回值的选择 函数重载 Lambda表达式函数的定义和申明生存期…

算法之工程化内容(2)—— Git常用命令

目录 1. git初始化配置 2. 新建仓库 3. 工作区——>暂存区——>本地仓库 4. git reset回退版本 5. 查看差异 git diff 6. 删除文件git rm 7. .gitignore 8. vscode操作git 9. git分支、合并和删除 10. 解决合并冲突 11. 回退和rebase 12. 添加远程仓库 参考链接&#xff…

6.824/6.5840 的Debugging by Pretty Printing配置

TA的原文在:Debugging by Pretty Printing (josejg.com) 为了在WSL2中配置好打印运行日志,我可是忙活了一下午。可恶的log配置 首先是安装rich库Textualize/rich: Rich is a Python library for rich text and beautiful formatting in the terminal. …

Android布局简介

布局是一种可用于放置很多控件的容器,根据既定的规则决定内部控件的位置。当然,布局的内部也可以放置布局,即布局嵌套,布局嵌套可以实现一些比较复杂的界面。 Android中有多种编写程序界面的方式可供选择。Android Studio提供了相…

Android应用程序调试Logcat的使用

Android的程序调试主要使用Logcat进行,本节主要介绍Logcat的使用。 开启调试模式 使用Android Studio进行程序调试,首先需要连接虚拟Android设备或真实Android设备,设备上需要启用调试功能。 虚拟Android设备默认情况下会启用调试功能。对…

超详细!Jmeter 压测-设计5W并发量场景

需求:设计一个5W并发量的性能场景? 1、确定性能测试工具,性能测试思路 测试工具:Jmeter 并发设计思路:如果被测服务足够快,比如10ms的响应时间,1个线程/秒就是100tps,5万的TPS&…

Redis代替Session实现共享

集群的session共享问题 session共享问题:多台tomcat并不共享session存储空间,当请求切换到不同的tomcat服务时导致数据丢失的问题。 session的替代方案: 数据共享内存存储key、value结构 将redis替换session可以解决session共享问题

AI发展的新方向:从卷模型到卷应用

在2024年7月4日于上海世博中心举办的世界人工智能大会暨人工智能全球治理高级别会议全体会议上,百度创始人、董事长兼首席执行官李彦宏发表了一段引人深思的演讲。他在产业发展主论坛上提出:“大家不要卷模型,要卷应用!”这句话道…

打卡第7天-----哈希表

继续坚持✊,我现在看到leetcode上的题不再没有思路了,真的是思路决定出路,在做题之前一定要把思路梳理清楚。 一、四数相加 leetcode题目编号:第454题.四数相加II 题目描述: 给定四个包含整数的数组列表 A , B , C , D ,计算有多少个元组 (i, j, k, l) ,使得 A[i] + B[j…

设计模式使用简例(简单工厂+策略模式+模板方法)

直接上代码,方便记忆。主要的要点,已经写到注释中。 一,代码展示 启动类 package com.rojer;import org.springframework.boot.SpringApplication; import org.springframework.boot.autoconfigure.SpringBootApplication;SpringBootAppli…

【电路笔记】-C类放大器

C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…

离线运行Llama3:本地部署终极指南_liama2 本地部署

4月18日,Meta在官方博客官宣了Llama3,标志着人工智能领域迈向了一个重要的飞跃。经过笔者的个人体验,Llama3 8B效果已经超越GPT-3.5,最为重要的是,Llama3是开源的,我们可以自己部署! 本文和大家…

大话光学原理:3.干涉与衍射

一、干涉 这是一束孤独的光,在真空的无垠中悄无声息地穿行。忽然,一堵高耸的墙壁挡住了它的去路,它别无选择,只能硬着头皮冲撞而去。在摸索中,它意外地发现墙壁上竟有两道孔隙,笔直而细长,宛如量…

tableau树形图制作 - 7

树形图制作 1. 树状图绘制-11.1 选择属性1.2 智能选择树状图1.3 颜色设置 2. 树状图绘制-22.1 标签属性选择2.2 树状图绘制2.3 颜色设置2.4 设置标签2.5 设置筛选器 3. 树状图绘制 - 33.1 选择行列3.2 树状图转换3.3 统计转换3.4 颜色设置3.5 标签设置3.6 筛选器设置 1. 树状图…

【系统架构设计】计算机组成与体系结构(二)

计算机组成与体系结构 计算机系统组成存储器系统前言主存储器存储器存储数量(计算) 辅助存储器(以磁盘为例)Cache存储器 流水线 计算机系统组成 存储器系统 前言 存储器用来存放程序和数据的部件,是一个记忆装置&am…

Michael.W基于Foundry精读Openzeppelin第63期——Initializable.sol

Michael.W基于Foundry精读Openzeppelin第63期——Initializable.sol 0. 版本0.1 Initializable.sol 1. 目标合约2. 代码精读2.1 _getInitializedVersion() internal && _isInitializing() internal2.2 modifier initializer()2.3 modifier reinitializer(uint8 version…

Qt 异步实现事件的定时执行 - QTimer和QThread的联合使用

异步实现事件的定时执行 - QTimer和QThread的联合使用 引言一、核心源码二、其信号和槽函数简述三、定时器及其moveToThread简述 引言 在 Qt 中,如果想要定时执行某些事件或函数,通常会使用 QTimer 类。QTimer 允许设置一个时间间隔,当这个时…