MATLAB十九种作图大全

MATLAB十九种作图大全反应两个变量的因果关系 clear

大家好,欢迎来到IT知识分享网。

一、二维曲线图

        反应两个变量的因果关系

afe18a4d38db4eea90a7a7dac257b143.png

clear; %清除工作空间的所有变量 clc; %清除命令窗口的内容,对工作环境中的全部变量无任何影响 close all; %关闭所有的Figure窗口 x = linspace(1,200,100); %均匀生成数字1-200,共计100个 y1 = log(x) + 1; %生成函数y = log(x) + 1 y2 = log(x) + 2; %生成函数y = log(x) + 2 figure; %创建一个新的窗口 plot(x,y1); %作图y = log(x) + 1 hold on %多图共存在一个窗口上 plot(x,y2,'LineWidth',2); %作图y=log(x)+2,LineWidth指线型的宽度尺寸2 hold off %关闭多图共存在一个窗口上 legend('y1','y2'); %生成图例y1和y2

二、二维散点图

3235d958f19c47458d4e98023332decc.png

figure; y3 = y1 + rand(1,100) - 0.5; plot(x,y1,'LineWidth',2,'Color',[0.21,0.21,0.67]); hold on %设置数据点的形状、数据点的填充颜色、数据点的轮廓颜色 plot(x,y3,'o','LineWidth',2,'Color',[0.46,0.63,0.90],'MarkerFaceColor',[0.35,0.90,0.89],'MarkerEdgeColor',[0.18,0.62,0.17]); %MarkerFaceColor设置内部填充颜色 MarkerEdgeColor设置外部边框填充颜色 hold off

三、二维渐变色图

用不同的颜色、数据点大小表征不同数值,

9e14050ffc2341648aedc6badd0c19e0.png

x = linspace(0,3*pi,200); y = cos(x) + rand(1,200); %随机生成1*200,位于[0,1]的数字 sz = 25; %尺寸为25 c = linspace(1,10,length(x)); scatter(x,y,sz,c,'filled')

四、二维条形图

d8abc9b03e4142d49fae4ba00948ab82.png

A = [60.689;87.714;143.1;267.9515]; C = [127.5;160.4;231.9;400.2]; B = C - A; D = [A,B,C]; bar1 = bar([2:5:17],A,'BarWidth',0.2,'FaceColor','k'); %画A的数据 hold on; bar2 = bar([3:5:18],B,"BarWidth",0.2,'FaceColor',[0.5 0.5 0.5]);%画B的数据 hold on; bar3 = bar([4:5:19],C,'BarWidth',0.2,'FaceColor','w'); %画C的数据 ylabel('耗时/s'); %为Y轴增加标签 xlabel('GMM阶数'); %为Z轴增加标签 legend('训练耗时','测试耗时','总耗时'); %在坐标区域上添加图例 labelID = {'8阶','16阶','32阶','64阶'}; %定义刻度标签名称 set(gca,'XTick',3:5:20); %XTick为设置X轴的刻度 set(gca,'XTickLabel',labelID); %XTickLabel为设置X轴的刻度标签

五、二维填充图

d06a91cd995c4384b12701a6921c9ba0.png

x = 0.4:0.1:2*pi; %定于x y1 = sin(2*x); %定义y1 y2 = sin(x); %定义y2 %确定y1和y2的上下边界 maxY = max([y1;y2]); minY = min([y1;y2]); %确定填充多边形,按照顺时针方向来确定点 %fliplr实现左右翻转 xFill = [x,fliplr(x)]; yFill = [maxY,fliplr(minY)]; figure fill(xFill,yFill,[0.21,0.21,0.67]); %填充 hold on %绘制轮廓线 plot(x,y1,'k','LineWidth',2) %画y1关于x的曲线 plot(x,y2,'k','LineWidth',2) %画y2关于x的曲线 hold off

六、多Y轴图

2b1b0a4296df4b6da6c930215a96aa1b.png

figure; load('accidents.mat','hwydata' ) %加载名为 "accidents.mat" 的文件,并将其中名为 "hwydata" 的变量加载到 MATLAB 的工作空间中 ind = 1:51; drivers = hwydata(:,5); %从hwydata中提取第5列的数据,并将其存储在名为drivers的变量中 yyaxis left %在图形中创建一个新的Y轴,并将其放置在左侧 scatter(ind,drivers,'LineWidth',2); %绘制散点图,其中ind是X轴上的数据,drivers是Y轴上的数据。'LineWidth',2参数用于设置散点图中数据点的线宽为2个单位。 title('Highway Data'); %标题 xlabel('States'); %X标签 ylabel('Licensed Drivers(thousands)'); %Y轴标签 pop = hwydata(:,7); %从名为hwydata的数据集中提取第7列的数据,并将其赋值给变量pop yyaxis right %将下一个绘图操作的Y轴切换到右侧 scatter(ind,pop,'LineWidth',2); %绘制一个散点图 ylabel('Vehicle Miles Traveled(millions)'); %

七、二维场图

ba325347e95c4d78b1a797cfa9da5600.png

[x,y] = meshgrid(0:0.1:1,0:0.1:1); u = x; v = -y; startx = 0.1:0.1:0.9; starty = ones(size(startx)); %需要获取所有流线的属性 figure; quiver(x,y,u,v); %该函数使用箭头来直观的显示矢量场,小箭头来表示以该点为起点的向量(u,v) streamline(x,y,u,v,startx,starty); %绘制流线图,其中(x,y)是网格的坐标,(u,v)是在每个点上的水平和垂直速度分量,(startx,starty)是指定流线的起始点。 

 

八、三维曲线图

805b5101c9244c05a3ab634d6806ec31.png

figure; t = 0:pi/20:10*pi; xt = sin(t); yt = cos(t); plot3(xt,yt,t,'-o','Color','b','MarkerSize',10); %绘制三维图形

九、三维散点图

135b773257d042619bba3297dea9880f.png

figure; [X,Y,Z] = sphere(16); x = [0.5*X(:);0.75*X(:);X(:)]; y = [0.5*Y(:);0.75*Y(:);Y(:)]; z = [0.5*Z(:);0.75*Z(:);Z(:)]; S = repmat([70,50,20],numel(X),1); C = repmat([1,2,3],numel(X),1); s = S(:); c = C(:); h = scatter3(x,y,z,s,c); h.MarkerFaceColor = [0 0.5 0.5];

e9b9893808e04ec88a476533d13a7d5f.png

x = linspace(1,20,100); y1 = log(x) + 1; y2 = log(x) + 2; y3 = y1 +rand(1,100) - 0.5; figure; scatter3(x,y2,y3,x,x,'filled');

十、三维伪彩图

ebfb3f1806124c2cb93ad11f80815997.png

[x,y,z] = peaks(30); figure; plot1 = subplot(1,2,1); surf(x,y,z); %获取第一幅图的colormap,默认为parula plot2 = subplot(1,2,2); surf(x,y,z); %下面设置的是第二幅图的颜色 colormap(hot); %设置第一幅图颜色显示为parula %一个坐标轴 figure; h1 = surf(x,y,z); hold on; h2 = surf(x,y,z+5); hold off; colormap(hot);

十一、裁剪伪彩图

3ada82384e9a43e9b25a2ae44a9b832c.png

figure; n = 300; [x,y,z] = peaks(n); subplot(2,2,[1,3]); surf(x,y,z); shading interp; view(0,90); for i = 1:n for j = i:n if x(i,j)^2 + 2 * y(i,j)^2 > 6 && 2 * x(i,j)^2 + y(i,j)^2 < 6 z(i,j) = NaN; end end end subplot(2,2,2) surf(x,y,z); shading interp view(0,90) subplot(2,2,4) surf(x,y,z); shading interp

 

十二、等高线图

814f16419a6d48699f62bfe2a73b8dd4.png

figure; [X,Y,Z] = peaks; subplot(2,2,1); contour(X,Y,Z,20,'LineWidth',2); subplot(2,2,2); contour(X,Y,Z,20,'--',"LineWidth",2) subplot(2,2,3); v = [1,1]; contour(X,Y,Z,v,'LineWidth',2); x = -2:0.2:2; y = -2:0.2:3; [X,Y] = meshgrid(x,y); Z = X.*exp(-X.^2-Y.^2); subplot(2,2,4); contour(X,Y,Z,'ShowText','on','LineWidth',2);

十三、三维等高线图

643730ccc2d140eb98d9b94c3589ffe1.png

figure('Position',[0,0,900,400]); subplot(1,3,1); [X,Y,Z] = sphere(50); contour3(X,Y,Z,'LineWidth',2); [X,Y] = meshgrid(-2:0.25:2); Z = X.*exp(-X.^2 - Y.^2); subplot(1,3,2); contour3(X,Y,Z,[-0.2 -0.1 0.1 0.2],'ShowText','on','LineWidth',2) [X,Y,Z] = peaks; subplot(1,3,3); contour3(X,Y,Z,[2 2],'LineWidth',2);

十四、等高线填充图

99fc96212a994fc181fa6db33ac8f493.png

figure; subplot(2,2,1); [X,Y,Z] = peaks(50); contourf(X,Y,Z); subplot(2,2,2); contourf(X,Y,Z,'--'); %限定范围 subplot(2,2,3); contourf(X,Y,Z,[2 3],'ShowText','on'); subplot(2,2,4); contourf(X,Y,Z,[2 2]);

十五、三维矢量场图

4ed53ba710eb4d29a9473688bd5a33b8.png

figure; [X,Y,Z] = peaks(30); %矢量场,曲面法线 [U,V,W] = surfnorm(X,Y,Z); %箭头长度、颜色 quiver3(X,Y,Z,U,V,W,0.5,'r'); hold on surf(X,Y,Z); xlim([-3,3]) ylim([-3,3.2]); shading interp hold off view(0,90);

十六、伪彩图+投影图

a2cac31005864953b8df4515abe12291.png

clear;clc;close all; x = linspace(-3,3,30); y = linspace(-4,4,40); [X,Y] = meshgrid(x,y); Z = peaks(X,Y); Z(5:10,15:20) = 0; z1 = max(Z); z2 = max(Z,[],2); figure; subplot(3,3,[1,2]); plot(x,z1,'LineWidth',2); subplot(3,3,[6,9]); plot(z2,y,'LineWidth',2); subplot(3,3,[4,5,7,8]); surf(x,y,Z); xlim([-3,3]); ylim([-4,4]); view(0,90); shading interp%平滑图像

十七、热图

a4fc5d0aeadc482faa3ddd0834012dc2.png

clear;clc; z = rand(50); z(z >= 0.0 & z < 0.6) = 0.5; z(z >= 0.6 & z < 0.8) = 0.7; z(z >= 0.8 & z <= 1) = 0.9; for i = 1:30 z(randi(50,1,1):end,i) = nan; end for i = 31:50 z(30 + randi(20,1,1):end,i) = nan; end z(20:25,40:45) = nan; figure; % ax = surf(z); ax = pcolor(z); view(0,90); ax.EdgeColor = [1 1 1];

十八、分子模型图

1980e28546a44e6fa72f39ddb5cb3b8a.png

clear;clc; %球面的坐标信息,为了看起来平滑一点,给到100 [x,y,z] = sphere(100); % C大小 C = 10; % H大小 H = 5; figure; %大球 surf(C*x,C*y,C*z,'FaceColor',"red","EdgeColor","none") hold on %四个小球,都偏离一点位置,准确的位置需要计算,这里演示一个大概位置 surf(H*x,H*y,H*z+10,'FaceColor','blue','EdgeColor','none'); surf(H*x + 10,H*y,H*z - 3,'FaceColor','blue','EdgeColor','none'); surf(H*x - 4,H*y -10,H*z -3,'FaceColor','blue','EdgeColor','none'); surf(H*x - 4,H*y +10,H*z - 3,'FaceColor','blue','EdgeColor','none'); %坐标轴设置 axis equal off %光源,看起来更有立体感 light %lighting none,关闭光源

十九、分形图

e8720d59acb3452bac949c485abddb68.png

7ea2ca4c62c14fcdaa3c5f90d4473290.jpg

 

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://haidsoft.com/112380.html

(0)
上一篇 2026-01-18 19:00
下一篇 2026-01-18 19:15

相关推荐

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注微信