基于MATLAB的数值型数据对比图绘制

一、一维折线对比图

    一维折线对比图作为最基本的对比图,绘制简单且可以直观地观察出数据的大小情况,需要注意的是,本文章中所说的一维和多维其实是数据的组数,所采用的图形默认为平面图形,还请读者加以区分,示例图形及代码如下所示。

% 生成一组随机数据
data = rand(1,10) * 100;
% 基于数据绘制折线对比图
X = linspace(1,10,10);
figure; % 显示图形
plot(X,data,'LineWidth',1.25,'Color','g'); % 绘制折线对比图
hold on;
plot(X,data,'*','Color','b')
grid on; % 显示网格

二、多维折线对比图

    多维折线对比图适用于多组数据进行对比,可通过竖直方向上图形的差异来得到这几组数据之间的差别,示例图形及代码如下所示。

% 生成多组随机数据
data1 = rand(1,10) * 100;
data2 = rand(1,10) * 100;
data3 = rand(1,10) * 100;
% 基于数据绘制多维折线对比图
X = linspace(1,10,10);
figure; % 显示图形
grid on; % 显示网格
hold on; % 保持图形
plot(X,data1,'LineWidth',1.25,'Color','g');
plot(X,data1,'*','Color','black');
plot(X,data2,'LineWidth',1.25,'Color','b');
plot(X,data2,'*','Color','black');
plot(X,data3,'LineWidth',1.25,'Color','r');
plot(X,data3,'*','Color','black');
legend("data1","","data2","","data3"); % 标记

三、一维条形对比图

    一维条形对比图也是基本的对比图,相对于传统的一维折线对比图更能体现出数据的数值差异,但基本条形图不太美观,需要添加代码加以修饰,示例图形及代码如下所示。

% 生成一组随机数据
data = rand(1,10) * 100;
% 基于数据绘制一维条形对比图
figure; % 生成图形
bar(data,'FaceColor','[0.58,0.8,1]','EdgeColor','black');
grid on; % 生成网格

四、多维条形对比图

    多维折线对比图相对于一维折线对比图来说更难,根本原因是因为多维折线对比图需要确定条形图之间的间隙,示例图形及代码如下所示。

% 生成多组随机数据
data = rand(3,10) * 100;
data1 = data(1,1:10);
data2 = data(2,1:10);
data3 = data(3,:);
% 基于数据绘制多维条形对比图
figure; % 生成图形
hold on; % 保持图形
bar(1:8:77,data1,'FaceColor','[0.58,0.8,1]','EdgeColor','black','BarWidth',0.22);
bar(3:8:77,data2,'FaceColor','[0.58,1,0.8]','EdgeColor','black','BarWidth',0.22);
bar(5:8:77,data3,'FaceColor','[1,0.8,0.58]','EdgeColor','black','BarWidth',0.22);
grid on; % 生成网格
legend("data1","data2","data3"); % 标记
XlabelID = ["属性1","属性2","属性3","属性4","属性5","属性6","属性7","属性8","属性9","属性10"];
set(gca,'XTick',3:8:77);% 设置坐标标签位置
set(gca,'XTickLabel',XlabelID);% 设置坐标标签数值

五、扇形对比图

    扇形对比图是一种比例对比图,传递数值型数据之后会形成标记各数值型数据占比的扇形图,适用于需要确认各个数据比例的问题,示例图形及代码如下所示。

% 生成一组随机数据
data = rand(1,10) * 100;
% 绘制扇形对比图
figure; % 生成图形
ID = ["属性1","属性2","属性3","属性4","属性5","属性6","属性7","属性8","属性9","属性10"];
subplot(1,2,1); % 生成一行两列平面图 占用第一块区域
pie(data,'%.2f%%'); % 平面
subplot(1,2,2); % 生成一行两列平面图 占用第二块区域
pie3(data,ID); % 立体

六、部分浅色系颜色推荐

    1.浅黄 RGB颜色: [1,0.8,0.58]

    2.浅粉 RGB颜色: [1,0.58,0.8]

    3.浅绿 RGB颜色: [0.58,1,0.8]

    4.浅蓝 RGB颜色: [0.58,0.8,1]

    5.浅紫 RGB颜色: [0.8,0.58,1]

    示例图形及部分代码如下所示。

a = 1;
b = 2;
c = 3;
d = 4;
f = 5;
figure(); % 生成图形
hold on; % 保持图形
grid on; % 添加网格
bar(a,f,'FaceColor','[1,0.8,0.58]','EdgeColor','black');
bar(b,f,'FaceColor','[1,0.58,0.8]','EdgeColor','black');
bar(c,f,'FaceColor','[0.58,1,0.8]','EdgeColor','black');
bar(d,f,'FaceColor','[0.58,0.8,1]','EdgeColor','black');
bar(f,f,'FaceColor','[0.8,0.58,1]','EdgeColor','black');
ColorID = ["浅黄","浅粉","浅绿","浅蓝","浅紫"];
set(gca,'XTick',1:1:5);% 设置坐标标签位置
set(gca,'XTickLabel',ColorID);% 设置坐标标签数值

        本文适合初学者绘制对比图时阅览,因涉及操作比较简单,所以初学者可以在阅览过程中学习适当的操作,以便后续绘图时使用。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值