写了个matlab绘制小提琴图的函数:
- 图中小提琴状区域为核密度曲线
- 白色方块为25%,75%分位数
- 中间横线为中位数
- 白色点为离群值点
- 竖着的黑线是去掉离群值点后点的上下限
基础使用,Y为矩阵:
X=1:5;
Y=randn(100,5);
Hdl1=violinChart(gca,X,Y,[0 0.447 0.741],0.6);
- X:横坐标
- Y:数据集
- FaceColor :颜色,示例用的是[0 0.447 0.741]
- width : 小提琴图宽度,这里取的是0.6,就是以两个小提琴图间距的0.6倍为概率密度的上限1
基础使用,Y为向量,X为标签:
X=[1.*ones(1,50),2.*ones(1,30),3.*ones(1,20),4.*ones(1,50),5.*ones(1,50)];
Y=randn(1,200)+sin(X);
Hdl=violinChart(gca,X,Y,[0 0.447 0.741]);
基础使用多个图像绘制,并添加图例
X1=[1:2:7,13];
Y1=randn(100,5)+sin(X1);
X2=2:2:10;
Y2=randn(100,5)+cos(X2);
figure
Hdl1=violinChart(gca,X1,Y1,[0 0.447 0.741]);
Hdl2=violinChart(gca,X2,Y2,[0.850 0.325 0.098]);
legend([Hdl1.F_legend,Hdl2.F_legend],{'randn+sin(x)','randn+cos(x)'});
function Hdl=violinChart(ax,X,Y,FaceColor,width)
% @author slandarer
% Hdl: 返回的图形对象句柄结构体
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% Hdl.F_density(i) | patch | 核密度分布
% Hdl.F_outlier(i) | scatter | 离群值点
% Hdl.F_range95(i) | line | 去除离群值点后最大值及最小值
% Hdl.F_quantile(i) | patch | 四分位数框
% Hdl.F_medianLine(i)| line | 中位数
%
% Hdl.F_legend | patch | 用于生成legend图例的图形对象
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% 请使用如下方式生成图例:
% Hdl1=violinChart(ax,X,Y,... ...)
% Hdl2=violinChart(ax,X,Y,... ...)
% ... ...
% legend([Hdl1,Hdl2,... ...],{Name1,Name2,...})
% ===========================================================
% 以下为使用实例代码:
% - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
% X1=[1:2:7,13];
% Y1=randn(100,5)+sin(X1);
% X2=2:2:10;
% Y2=randn(100,5)+cos(X2);
%
% Hdl1=violinChart(gca,X1,Y1,[0 0.447 0.741],0.5);
% Hdl2=violinChart(gca,X2,Y2,[0.850 0.325 0.098],0.5);
% legend([Hdl1.F_legend,Hdl2.F_legend],{'randn+sin(x)','randn+cos(x)'});
if nargin
关注
打赏
最近更新
- 深拷贝和浅拷贝的区别(重点)
- 【Vue】走进Vue框架世界
- 【云服务器】项目部署—搭建网站—vue电商后台管理系统
- 【React介绍】 一文带你深入React
- 【React】React组件实例的三大属性之state,props,refs(你学废了吗)
- 【脚手架VueCLI】从零开始,创建一个VUE项目
- 【React】深入理解React组件生命周期----图文详解(含代码)
- 【React】DOM的Diffing算法是什么?以及DOM中key的作用----经典面试题
- 【React】1_使用React脚手架创建项目步骤--------详解(含项目结构说明)
- 【React】2_如何使用react脚手架写一个简单的页面?