首页 > 其他分享 >用Vue3和Plotly.js实现3D小提琴图的交互式可视化

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

时间:2024-07-12 17:56:26浏览次数:20  
标签:小提琴 账单 js 分布 Plotly Vue3 性别 属性

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生成前端微信讨论群:

扫码加入群聊

标签:小提琴,账单,js,分布,Plotly,Vue3,性别,属性
From: https://blog.csdn.net/ScriptEcho/article/details/140303681

相关文章

  • 使用 Vue 和 Plotly.js 创建交互式 3D 网格图
    本文由ScriptEcho平台提供技术支持项目地址:传送门使用Vue和Plotly.js创建交互式3D网格图应用场景介绍3D网格图是一种强大的可视化工具,可用于表示具有三个维度的数据。它们广泛应用于科学、工程和医学等领域,用于显示复杂数据并揭示潜在模式。代码基本功能介绍......
  • 2024-07-12 vue项目中 运行 npm run build 或 yarn build 打包 没有生成 xx.es.js 文
    我在写一个ui组件库,在打包时发现dist文件夹里没有生成我想要的xx.es.js文件,我查看了我的vue项目中的vue.config.js文件,发现build.lib没有指定输出的文件名解决方案:配置项目中的vue.config.js文件,参考我的......
  • Avast! Web Shield核心防护:‘aswjsflt.dll’解析与丢失修复全案
    aswjsflt.dll是一个动态链接库(DLL)文件,与Avast!Antivirus软件相关。这个文件是Avast!WebShield的一个组件,负责在浏览器中监控JavaScript代码,防止恶意脚本的执行。aswjsflt.dll作为浏览器的扩展或插件工作,帮助实时保护用户的在线活动免受潜在的网络威胁。当系统提示aswjsflt......
  • vue3前端项目结构解析(2024-07-12)
    .├──build#打包脚本相关│  ├──config#配置文件│  ├──generate#生成器│  ├──script#脚本│  └──vite#vite配置├──mock#mock文件夹├──public#公共静态资源目录├──src#主目录│  ├──api#接口......
  • vue3项目中浏览器打开本地文档或者下载本地应用的方法(2024-07-11)
    在public文件夹下面加入预览的文件【操作说明文档】。public文件夹包含了应用程序的入口HTML文件,以及其他不需要经过编译的静态文件此文件夹不会压缩并且路径不变,所以是最佳的存放文件的位置。代码:<template><n-icontitle="操作文档"style="cursor:pointer;margin-......
  • linux-Rsyslog自定义配置json模板
    配置日志接收模板和转发参考:https://www.cnblogs.com/xwupiaomiao/p/17565418.html自定义模板配置文件在主配置文件中添加(rsyslog.conf)include(file=“/etc/rsyslog.d/*.conf”mode=“optional”)方案一在/etc/rsyslog.d/下创建一个配置文件ct3a1.conf#日志模板......
  • PixiJS源码分析系列: 第一章 从最简单的例子入手
    从最简单的例子入手分析PixiJS源码我一般是以使用角度作为切入点查看分析源码,例子中用到什么类,什么方法,再入源码。高屋建瓴的角度咱也做不到啊,毕竟水平有限pixijs的源码之前折腾了半天都运行不起来,文档也没有明确说明如何调式我在github上看到过也有歪果仁在问如何本地......
  • JavaScript进阶(四)---js解构
    目录一.定义:二.类型:1.数组解构:1.1变量和值不匹配的情况1.2多维数组2.对象解构3.对象数组解构4.函数参数解构5.扩展运算符一.定义:JavaScript中的解构(Destructuring)是一种语法糖,它允许我们从数组或对象中提取数据,并将这些数据赋值给新的变量。解构使得代码更......
  • 07--JS07--逆向03:字体反爬
    JS逆向03:字体反爬jsvmp:代码虚拟化保护方案ast:抽象语法树1.字体文件、字体反爬###1字体文件.ttf.woff或.eot在计算机内存中,文字就是一堆二进制(unicode),要以文字图形的样子,展示给用户看就要指定它们之间的对应关系,就是字体文件书法字体、火星文......
  • pdf.js源码分析-字体加载流程
    pdf.js中的字体加载流程,下面演示一种Type1的字体的加载流程,会把一些兼容性的内容省去,只记录字体数据的加载过程中涉及到的方法和作用:evaluator.js->handleSetFont:操作符列表中加载字体evaluator.js->loadFont:加载字体的方法evaluator.js->preEvaluateFont:对字体信息进行......