目录
一、绘制heatmap热图
热图作用就是把一堆数直观的显示出来,然后观察差异性。 调用heatmap()函数进行热图绘制。
源码如下:
clc;clear;clf;
x_name={'x1','x2','x3','x4','x5'};
y_name={'y1','y2','y3','y4','y5'};
z=heatmap(x_name,y_name,rand(5,5));
z.CellLabelFormat = '%0.3f'; %展示精度
% colormap(parula) %换颜色
colormap(summer) %换颜色
效果如下:
想要深入了解热图的小伙伴们可以参考这里。
二、绘制带限制条件的网格图
网格图相信大家都会画吧,重点是会调用meshgrid()函数生成网格点,然后根据相应方程,利用mesh ()或者 surf()绘制网格图。现在需要绘制的是带限制条件的网格图。
源码如下:
clc;clear;clf;
x=0:0.01:0.5;
y=0:0.01:0.8;
[X,Y]=meshgrid(x,y);
Z=X+Y;
Y(Y>=X+0.3)=nan; %将Y大于等于0.8的数去掉
surf(X,Y,Z)
三、绘制散点图
散点图顾名思义,全是点点的图,可以反应一组数据的相关性,应用与回归分析,具体的看看这里。
(1)、简单散点图
在MATLAB中绘制散点图需要调用scatter()函数,在这里数据的引入,博主使用的是normrnd()函数,随机生成正态分布数据。
源码如下:
clc;clear;clf;
x=[1:1:1000];
y=normrnd(2,3,1000,1);生成均值为2,标准差为3的1000行1列的随机正态分布数据
scatter(x,y)
%x,y必须是同维的数组
效果如下:
(2)、将散点图用于有序函数
实际就是将散点有序化,按照给定函数进行散点绘制
源码如下:
clc;clear;clf;
x=linspace(-1,1,100);
y=x.^3;
scatter(x,y)
%plot(x,y,'o')效果同上
如果只是简单的全部都用相同的圆圈圈表示图的话,不能给视觉带来冲击,所以选择为每个圈圈赋予大小,让它随着横坐标的增大依次变大。
源码如下:
clc;clear;clf;
x=linspace(-1,1,100);
y=x.^3;
cd = linspace(1,100,100);% cd的长度必须和x的长度保持一致
scatter(x,y,cd)
效果展示如下:
本次学习结束了,下次继续学习画一些好看的图,希望大家多多支持!