Orange3数据可视化(小提琴图)

小提琴图
   小提琴图和箱线图类似,用来显示数据分布和概率密度。结合了箱线图和密度图的特征,用来显示数据的分布形状。


输入
    数据: 输入数据集 

输出
    选中的数据: 从图中选中的实例 
    数据: 增加了一列,显示数据点是否被选中 
    


小提琴图的作用与箱形图类似。它显示了在不同类别变量的几个水平上的定量数据的分布,以便可以比较这些分布。
与箱形图不同,小提琴图中的所有组件都对应于实际数据点,而小提琴图特征的是潜在分布的高斯密度估计。

1.选择您想要绘制的变量。勾选按相关性到子组排序以按卡方或ANOVA对选定子组进行排序。
2.选择子组以显示由离散子组显示的小提琴图。勾选按相关性到变量排序以按卡方或ANOVA对选定变量进行排序。
3.箱形图: 勾选以显示底层箱形图。

带状图(Strip plot): 勾选以显示由点表示的底层数据。
  地毯图(Rug plot): 勾选以显示由线表示的底层数据。
  排序子组: 勾选以按中位数(升序)排序小提琴。
  方向: 确定小提琴的方向。
kernel density estimation 核密度估计
核函数: 选择用于估计密度的核函数。可能的核函数有:高斯、Epanechnikov 和线性。
缩放: 选择用于缩放每个小提琴宽度的方法。
      如果选择面积,每个小提琴将具有相同的面积。
      如果选择计数,小提琴的宽度将按该bin中的观察值数量进行缩放。
      如果选择宽度,每个小提琴将具有相同的宽度。

软件下载链接: https://pan.baidu.com/s/12drK7Mz7YSqrwIQk5Wh5cw?pwd=8tnd 

视频教程:关注我不迷路, 抖音:Orange3dev


https://www.douyin.com/user/MS4wLjABAAAAicBGZTE2kX2EVHJPe8Ugk3_nlJk9Nha8OZh4Bo_nTu8

1-组件概览
2-树查看器-决策树
3-箱线图-离散属性分布
4-箱线图-要素计算
5-箱线图-连续属性分布
6-小提琴图
7-分布图
8-散点图-智能数据可视化
9-散点图-探索性数据分析
10-散点图-高亮选择数据
11-折线图
12-条形图
13-筛网图
14-马赛克图
15-自由投影
16-线性投影
17-雷达图
18-热力图
19-韦恩图
20-轮廓图
21-毕达哥拉斯树
22-毕达哥拉斯森林
23-CN2规则查看器
24-诺莫图
 

### 小提琴图数据可视化及其绘制方法 #### 什么是小提琴图小提琴图是箱线图和密度图的一种结合图形,能够直观地展示数据的分布特征以及密集程度。其左右宽度越大,则表明该区域内的数据越集中[^1]。 #### 使用 R 的 `ggplot2` 和 `tidybayes` 包绘制小提琴图 在 R 中,可以利用 `ggplot2` 或者更高级别的扩展包 `tidybayes` 来实现小提琴图的绘制。以下是两种主要的方式: - **基础的小提琴图** 可以通过 `geom_violin()` 函数快速生成基本的小提琴图。 - **增强功能** 如果需要更加复杂的定制化需求,比如分半小提琴图或者叠加其他统计信息(如均值、中位数),则推荐使用 `tidybayes` 提供的功能[^2]。 下面是一个简单的代码示例: ```r library(ggplot2) data <- data.frame( group = factor(rep(1:3, each = 50)), value = c(rnorm(50), rnorm(50, mean = 2), rnorm(50, mean = -2)) ) # 基本小提琴图 p <- ggplot(data, aes(x = group, y = value)) + geom_violin(fill = "lightblue", color = "black") + theme_minimal() print(p) ``` 对于更复杂的需求,例如绘制分半小提琴图,可参考以下代码片段: ```r library(tidybayes) data %>% ggplot(aes(y = value, fill = group)) + stat_halfeye() + # 分半小提琴图的核心函数 labs(title = "Half-Violin Plot Example") ``` 上述代码展示了如何基于 `stat_halfeye()` 实现分半效果,并支持进一步调整颜色、透明度等参数[^3]。 #### Python 中 Matplotlib 和 Seaborn 的应用 Python 社区也广泛支持小提琴图的制作,其中最常用的是 `seaborn` 库,它内置了专门针对此类图表的支持。如果偏好底层控制力更强的方法,可以选择直接调用 `matplotlib` API 完成任务[^4]。 ##### 示例一:Seaborn 方法 ```python import seaborn as sns import matplotlib.pyplot as plt sns.set_theme(style="whitegrid") tips = sns.load_dataset("tips") ax = sns.violinplot(x=tips["total_bill"]) plt.show() ``` ##### 示例二:Matplotlib Axes 方法 当涉及到多子图布局时,建议采用更为灵活的 axes 接口完成操作: ```python fig, ax = plt.subplots(figsize=(8, 6)) parts = ax.violinplot(dataset=[np.random.normal(size=100) for _ in range(3)], showmeans=True) for pc in parts[&#39;bodies&#39;]: pc.set_facecolor(&#39;orange&#39;) pc.set_edgecolor(&#39;black&#39;) plt.xticks([1, 2, 3], [&#39;Group A&#39;, &#39;Group B&#39;, &#39;Group C&#39;]) plt.ylabel(&#39;Value Distribution&#39;) plt.title(&#39;Violin Plots with Custom Colors&#39;) plt.show() ``` #### MATLAB 平台下的解决方案 MATLAB 用户可以通过安装第三方工具箱 barplot 工具箱来轻松构建高质量的小提琴图。特别需要注意的一点是在配置样式选项 `%style` 参数时指定核密度估计器作为轮廓计算依据[^5]: ```matlab load fisheriris; species = categorical(species); X = meas; figure; violin(X, species, &#39;%style&#39;, &#39;ksdensity&#39;); title(&#39;Iris Measurements by Species (Violin Plot)&#39;); xlabel(&#39;Species&#39;); ylabel(&#39;Measurement Value&#39;); legend(&#39;Sepal Length&#39;, &#39;Sepal Width&#39;, &#39;Petal Length&#39;, &#39;Petal Width&#39;, ... &#39;Location&#39;,&#39;NorthEastOutside&#39;); ``` 以上脚本实现了鸢尾花数据集中小提琴图的具体展现过程。 ---
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值