MATLAB十九种作图大全

一、二维曲线图

        反应两个变量的因果关系

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:nfor j = i:nif x(i,j)^2 + 2 * y(i,j)^2 > 6 && 2 * x(i,j)^2 + y(i,j)^2 < 6 z(i,j) = NaN;endend
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:30z(randi(50,1,1):end,i) = nan;
end
for i = 31:50z(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

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/54125.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

进程监控与管理详解

一、进程的定义: 进程process是正在运行的程序,包括: 分配的内存地址空间 安全属性、包括所有权和特权 一个或多个线程 进程状态 进程的环境包括: 本地和全局变量 当前调度上下文…

Mac清理其他文件:释放存储空间的高效指南

每个Mac用户都可能遇到存储空间不足的问题&#xff0c;尤其是当“其他”文件积累到一定体积时。在Mac上&#xff0c;“其他”文件通常包括各种系统文件、缓存、文档以及不被归类为应用程序、照片、电影或音乐的其他类型的文件。这些文件往往不易被注意&#xff0c;但逐渐占用了…

数组学习内容

动态初始化 只给长度&#xff0c;数据类型【】 数组名new 数据类型【数组长度】 内存图

Leetcode—1137. 第 N 个泰波那契数【简单】

2024每日刷题&#xff08;160&#xff09; Leetcode—1137. 第 N 个泰波那契数 记忆化搜索实现代码 class Solution { public:int tribonacci(int n) {int zero 0;int one 1;int two 1;if(n 0) {return zero;}if(n 1) {return one;}if(n 2) {return two;}int ans 0;fo…

vscode搭建ros开发环境问题记录(更新...)

文章目录 vscode 不能自动补全方法一&#xff1a;方法二&#xff1a; 开发环境&#xff1a; vmware 15.7 ubuntu 20.04 ros noetic vscode 不能自动补全 方法一&#xff1a; 这里将头文件已经正确包含到c_cpp_properties.json中代码中仍然不能自动补全&#xff0c; 将C_CPP插…

基于python+django+vue的农业管理系统

作者&#xff1a;计算机学姐 开发技术&#xff1a;SpringBoot、SSM、Vue、MySQL、JSP、ElementUI、Python、小程序等&#xff0c;“文末源码”。 专栏推荐&#xff1a;前后端分离项目源码、SpringBoot项目源码、SSM项目源码 系统展示 【2025最新】基于pythondjangovueMySQL的农…

57.【C语言】字符函数和字符串函数(strerror函数)

目录 11.strerror函数 *简单使用 *错误码打印 *实际的用法 *附:VS中errno.h对错误码的分类 11.strerror函数 *简单使用 strerror string error cpuscplus的介绍 点我跳转 翻译: 函数 strerror char * strerror ( int errnum ); 得到指向错误信息字符串(简称错误码)的指针…

配置环境-keil

配置keil -- 先将keil安装配置好&#xff0c;包括库 一、STM32 -- STM32是意法半导体&#xff08;意大利&#xff09;采用ARM公司设计的内核&#xff0c;设计一系列32位单片机芯片。 1、STM32开发的几种方式 2、STM32寄存器和库函数版本的工程创建 新建文件夹 复制相关文件…

web基础之RCE

简介&#xff1a;RCE称为远程代码执行漏洞&#xff1b;是互联网的一种安全漏洞&#xff1b;攻击者可以直接向后台服务器远程注入操作系统命令&#xff1b;从而操控后台系统&#xff1b;也是CTF比较常考的一个方面 1、eval执行 &#xff08;1&#xff09;分析后端代码&#xf…

Redis学习——数据不一致怎么办?更新缓存失败了又怎么办?

文章目录 引言正文读写缓存的数据一致性只读缓存的数据一致性删除和修改数据不一致问题操作执行失败导致数据不一致解决办法 多线程访问导致数据不一致问题总结 总结参考信息 引言 最近面试快手的时候被问到了缓存不一致怎么解决&#xff1f;一开始还是很懵的&#xff0c;因为…

线性代数之QR分解和SVD分解

文章目录 1.QR分解Schmidt正交化Householder变换QR分解的应用 2. 求矩阵特征值、特征向量的基本方法3.SVD分解SVD分解的应用 参考文献 1.QR分解 矩阵的正交分解又称为QR分解&#xff0c;是将矩阵分解为一个正交矩阵Q和一个上三角矩阵R的乘积的形式。 任意实数方阵A&#xff0c…

从用户数据到区块链:Facebook如何利用去中心化技术

在数字化时代&#xff0c;用户数据的管理和保护已成为科技公司面临的重大挑战。作为全球最大的社交网络平台之一&#xff0c;Facebook不仅在用户数据的处理上积累了丰富的经验&#xff0c;也在探索如何利用去中心化技术&#xff0c;如区块链&#xff0c;来改进其数据管理和用户…

健身房预约小程序定制搭建,数字化运营管理

目前&#xff0c;健身已经成为了大众日常生活中不可或缺的一部分&#xff0c;不管是健身跑步、打羽毛球等&#xff0c;都受到了大众的欢迎&#xff01;随着健身行业的快速发展&#xff0c;为了提高大众的健身体验&#xff0c;健身房预约系统得到了广泛发展。预约系统不仅解决了…

深入MySQL的索引实践及优化

文章目录 一、什么是索引二、数据结构——为什么是B树平衡二叉查找树红黑树B树&#xff08;多叉&#xff09;B树&#xff08;多叉&#xff09; 三、MySQL索引实战1.索引创建(1)自动创建索引(2)手动创建非聚簇索引(3)索引的代价 2.B树索引原则&#xff08;1&#xff09;等值匹配…

引领智能家居新风尚,WTN6040F门铃解决方案——让家的呼唤更动听

在追求高效与便捷的智能家居时代&#xff0c;每一个细节都承载着我们对美好生活的向往。WTN6040F&#xff0c;作为一款专为现代家庭设计的低成本、高性能门铃解决方案&#xff0c;正以其独特的魅力&#xff0c;悄然改变着我们的居家生活体验。 芯片功能特点&#xff1a; 1.2.4…

4.qml单例模式

这里写目录标题 js文件单例模式qml文件单例模式 js文件单例模式 直接添加一个js文件到qml中 修改内容 TestA.qml import QtQuick 2.0 import QtQuick.Controls 2.12 import "./MyWork.js" as MWItem {Row{TextField {onEditingFinished: {MW.setA(text)}}Button…

【D3.js in Action 3 精译_022】3.2 使用 D3 完成数据准备工作

当前内容所在位置 第一部分 D3.js 基础知识 第一章 D3.js 简介&#xff08;已完结&#xff09; 1.1 何为 D3.js&#xff1f;1.2 D3 生态系统——入门须知1.3 数据可视化最佳实践&#xff08;上&#xff09;1.3 数据可视化最佳实践&#xff08;下&#xff09;1.4 本章小结 第二章…

飞机表面缺陷检测系统源码分享

飞机表面缺陷检测检测系统源码分享 [一条龙教学YOLOV8标注好的数据集一键训练_70全套改进创新点发刊_Web前端展示] 1.研究背景与意义 项目参考AAAI Association for the Advancement of Artificial Intelligence 项目来源AACV Association for the Advancement of Computer…

3.Java高级编程实用类介绍(一)

三、Java高级编程实用类介绍(一) 文章目录 三、Java高级编程实用类介绍(一)一、枚举类型二、包装类三、Math 一、枚举类型 使用enum进行定义 public enum 枚举名字{值1,值2.... }二、包装类 每个基本类型在java.lang包中都有一个相应的包装类 /** new包装类&#xff08;字符…

4、(PCT)Point Cloud Transformer

4、&#xff08;PCT&#xff09;Point Cloud Transformer 论文链接&#xff1a;PCT论文链接 本篇论文介绍Transformer在3D点云领域的应用&#xff0c;Transformer在NLP领域和图像处理领域都得到了广泛的应用&#xff0c;特别是近年来在图像领域的应用&#xff0c;本篇论文主要…