数据可视化

您所在的位置:网站首页 钢琴图怎么画简单好看 数据可视化

数据可视化

2024-07-11 07:14| 来源: 网络整理| 查看: 265

数据可视化——Matlab平台matlab-barplot工具箱绘制小提琴图 概述:基于matlab平台的matlab-barplot工具箱绘制小提琴图

小提琴图(violin plot)可以理解为另一种形式的核密度图。小提琴图的一半轮廓表示该组数据分布的核密度曲线。有时,小提琴图也可以与箱线图叠加在一起显示。

使用工具箱:matlab-barplot工具箱结合matlab-auto-axis工具箱。matlab-barplot工具箱的下载地址https://github.com/djoshea/matlab-barplot;matlab-auto-axis工具箱的下载地址:https://github.com/djoshea/matlab-auto-axis/。matlab-barplot工具箱需要与matlab-auto-axis工具箱结合使用。matlab-barplot工具箱同时支持绘制条形图和小提琴图的绘制。更多应用例程可以参考matlab-barplot工具箱里的example及matlab-barplot工具箱的下载地址中提供的示例。下载好的工具箱需要添加至matlab工作路径,详细操作请参考之前的描述:数据可视化——Matlab平台gramm工具箱绘制散点相关图(https://blog.csdn.net/zhouhucheng00/article/details/85763269)。注意,matlab-barplot工具箱对matlab的版本有要求,以下代码在matlab R2016b中测试通过,但在matlab R2014a中出错,可能与matlab 的图形设置更新有关。

下面是我通过使用matlab-barplot工具箱绘制的小提琴图的示例,示例代码如下:

clc;clear;close all; %绘制不同组别的数据为小提琴图 Y=rand(20,1); %随机产生20个数 Y_1=Y+10; %产生group1的数 Y_2=Y+12; %产生group2的数 Y_3=Y+11; %产生group3的数 Y_4=Y+14; %产生group4的数 max_Y=max([Y_1;Y_2;Y_3;Y_4]); %求各组值的中最大值,用于限定显示数据的范围 min_Y=min([Y_1;Y_2;Y_3;Y_4]); %求各组值的中最小值,用于限定显示数据的范围 h=figure; set(h,'units','normalized','position',[0.1 0.1 0.4 0.7]);%设置绘图窗口的大小 set(h,'color','w');%设置绘图窗口的背景为白色 bp = BarPlot('ylabel', 'Value'); %创建BarPlot对象,并设置Y轴的标题 cma = [1.0000 0.3600 0.4100;0.0200 0.7100 0.2900]; %设置填充颜色 g = bp.addGroup(' '); %为要显示的数据添加组别对象 %其中 FaceColor 指定填充颜色,locationType 设为 median 表示中间的横线表示中值, %style 设置为 ksdensity 表示依据核密度函数 ksdensity 绘制小提琴图的外形 %fontsize 设置显示组别的字体大小,FontWeight为bold表示组别的字体为粗体 b1 = g.addViolinBar('group1', Y_1, 'FaceColor',cma(1,:),'locationType', 'median', 'style', 'ksdensity' ,'fontsize',20,'FontWeight','bold'); b2 = g.addViolinBar('group2', Y_2, 'FaceColor',cma(2,:),'locationType', 'median', 'style', 'ksdensity' ,'fontsize',20,'FontWeight','bold'); b3 = g.addViolinBar('group3',Y_3, 'FaceColor',cma(1,:),'locationType', 'median', 'style', 'ksdensity','fontsize',20,'FontWeight','bold'); b4 = g.addViolinBar('group4',Y_4, 'FaceColor',cma(2,:),'locationType', 'median', 'style', 'ksdensity' ,'fontsize',20,'FontWeight','bold'); bp.render();hold on alpha(0.3); %设置填充颜色的透明度 ylim([min_Y-2,max_Y+2]); %限定Y轴的显示范围 set(gca, 'fontsize',20,'fontweight','bold') %设置Y轴的标题字体大小和字体

示例结果如下: 在这里插入图片描述 其中,黑色横线表示各组数据对应的中值。小提琴图的使用目前还不是很多,但提供了另一种较为美观的数据呈现的方法。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3