面积图是我们较为陌生的一种图示类型,主要用来突出每一类别所占据的面积,从而把握整体的趋势,不仅可以表示数量的多少,在一定程度上反映同一事物在不同时间的发展变化情况,这类图示多用于经济学报表中,下面我们一起来学习从0到1实现面积图吧。
成图效果展示
🍏绘图三步走
-
配色
每一张图的配色决定着图的颜值,好的配色很大程度上给人视觉的冲击美感,配色依然是最为关键的步骤,也是大家容易忽略的一项。
-
数据准备
面积图的数据主要来自于以时间周期为横坐标的序列数据,这里小编以自己的数据为例带着大家实现面积图绘制。
-
函数使用
认识函数:area。不论是面积图还是折线堆积面积图area函数都可以绘制。参数设置主要包括:线宽、面积填充、透明度等。
🍉1. 配色
首先我们需要选取喜欢的SCI样图复制到PPT中,取色方式同之前文章,在Matlab中实现0-255的RGB转化为0-1的颜色值,此次面积图的SCI样图如下:
将图片在PPT中进行处理,插入形状—形状填充—取色器—取色—记录RGB值—归一化,将归一化后的数据在Matlab中读取保存,这样取色就完成啦。
在Matlab中保存配色矩阵:
%% 导入配色文件
mycolor =[0.980392156862745,0.709803921568628,0.615686274509804;...
0.956862745098039,0.533333333333333,0.415686274509804;...
0.788235294117647,0.886274509803922,0.941176470588235;...
0.501960784313726,0.635294117647059,0.752941176470588;...
0.721568627450980,0.760784313725490,0.549019607843137];
🍈2. 数据准备
数据是来自南同学自己拟定的随机数据,分别为两个.mat文件格式数据,大家可以结合自己的真实数据进行应用到代码中,数据读取代码如下:
%% 导入数据文件
clc;
clear;
load t.mat;%矩阵大小5*2095
load Y.mat;%矩阵大小5*2095
%5对应曲线数量、2095是大家自己的数据点
🍋3. 函数使用
面积图需要的函数为area;参数主要包括'Linewidth':线宽、'Facecolor':面积颜色矩阵、'Edgecolor':边界线颜色以及透明度等参数。绘图代码如下:
%% 开始绘图 所用函数为area
figure('color',[ 1 1 1]);
% 参数设置主要为线宽、面积颜色、阴影系数
for i = 1:size(t,1)% size函数读取数据矩阵行数
area(t(i,:),Y(i,:),'Linewidth',1.5,'FaceColor',mycolor(i,:),'EdgeColor',mycolor(i,:),'FaceAlpha',0.4);
hold on;
end
最后一步就是设置坐标区信息啦,对坐标轴进行完善与修改,添加相应的图例,代码如下:
%% 添加图例与轴标题
xlabel('t');
ylabel('Y值');
title('面积填充图');
legend('y = t1','y = t2','y = t3','y = t4','y = t5');
这样一张面积图就大功告成啦!
完整代码文件获取方式: