Matlab绘图案例,MATLAB画图大法,附详细代码

2023-11-10

目录

1. 使用subplot创建多个子图

2. 绘制误差棒图

3. 绘制条形堆积图

4. 绘制堆积面积图

5. 绘制直方图并拟合曲线

6. 绘制等高线图

7. 绘制光滑的曲线

8. 绘制彩虹图

9. 绘制带有错误标记的散点图

10. 绘制水平堆积条形

11. 绘制饼图

12. 绘制极坐标图

13. 绘制二维直方图

14. 绘制气泡图

15. 绘制极坐标气泡图


强大的绘图功能是Matlab的特点之一,Matlab提供了一系列的绘图函数,用户不需要过多的考虑绘图的细节,只需要给出一些基本参数就能得到所需图形,这类函数称为高层绘图函数。

下面介绍一些Matlab绘图案例,可以帮助用户更加高效地进行数据可视化。

1. 使用subplot创建多个子图

% 创建3个子图,分别画y = sin(x), y = cos(x), y = exp(x)
x = 0:pi/100:2*pi;
subplot(1,3,1);
plot(x, sin(x));
title('sin(x)');
subplot(1,3,2);
plot(x, cos(x));
title('cos(x)');
subplot(1,3,3);
plot(x, exp(x));
title('exp(x)');

2. 绘制误差棒图

% 绘制误差棒图
x = 1:5;
y = [0.5 0.8 1.2 1.8 2.2];
err = [0.1 0.2 0.3 0.4 0.5];
errorbar(x,y,err,'s');
title('误差棒图');
xlabel('x');
ylabel('y');

3. 绘制条形堆积图

% 绘制条形堆积图
X = [1 2 3 4 5];
Y = [35 50 20 60 80];
Z = [20 25 30 20 15];
bar(X, [Y', Z'], 'stacked');
title('条形堆积图');
xlabel('X');
ylabel('Y');

4. 绘制堆积面积图

% 绘制堆积面积图
x = 0:0.1:2*pi;
y = [sin(x); cos(x)];
area(x, y');
title('堆积面积图');
xlabel('Ang');
ylabel('Value');

5. 绘制直方图并拟合曲线

% 绘制直方图并拟合曲线
y = randn(10000, 1);
[n, x] = hist(y, 50);
bar(x, n/sum(n));
hold on
y_fit = normpdf(x, mean(y), std(y));
plot(x, y_fit, 'r', 'LineWidth', 2);
title('直方图');
xlabel('数据');
ylabel('频数');

6. 绘制等高线图

% 绘制等高线图
x = linspace(-2*pi, 2*pi, 100);
[X,Y] = meshgrid(x, x);
Z = sin(X).*cos(Y);
contourf(X, Y, Z, 20, 'LineColor', 'r');
colorbar;
title('等高线图');
xlabel('X');
ylabel('Y');

7. 绘制光滑的曲线

% 绘制光滑的曲线
x = 0:0.1:2*pi;
y = sin(x);
xx = linspace(x(1), x(end), 100);
yy = spline(x,y,xx);
plot(x,y,'o',xx,yy);
title('光滑的曲线');
xlabel('x');
ylabel('y');

8. 绘制彩虹图

% 绘制彩虹图
t = 0:pi/20:2*pi;
[X,Y,Z] = cylinder(sin(t));
surf(X,Y,Z);
colormap(hsv);
title('彩虹图');
xlabel('X axis');
ylabel('Y axis');
zlabel('Z axis');

9. 绘制带有错误标记的散点图

% 绘制带有错误标记的散点图
x1 = 0:0.1:pi;
y1 = sin(x1);
error1 = randn(size(x1))*0.1;
errorbar(x1,y1,error1,'o');
title('带有错误标记的散点图');
xlabel('x');
ylabel('y');

10. 绘制水平堆积条形

% 绘制水平堆积条形
x = [1 2 3 4 5];
y = [20 40 60 80 100];
z = [5 15 25 30 35];
barh(x, [y' z'], 'stacked');
title('水平堆积条形');
xlabel('Y');
ylabel('X');

11. 绘制饼图

% 绘制饼图
load patients;
pie(SelfAssessedHealthStatus);
title('Self Assessed Health Status From 100 Patients')

12. 绘制极坐标图

% 绘制极坐标图
theta = linspace(0,2*pi,100);
rho = ones(1,100);
polarplot(theta, rho);
title('极坐标图');

13. 绘制二维直方图

% 绘制二维直方图
load carsmall;
x = [MPG,Horsepower];
hist3(x, [20 20]);
xlabel('MPG');
ylabel('Horsepower');
zlabel('Frequency');
title('二维直方图');

14. 绘制气泡图

% 绘制气泡图
load fisheriris;
x = meas(:,1);
y = meas(:,2);
sz = 10*rand(size(x));
scatter(x,y,sz,'filled');
xlabel('Sepal length');
ylabel('Sepal width');
title('气泡图');

15. 绘制极坐标气泡图

% 极坐标气泡图
th = 1:10;
r = rand(1,10);
sz = rand(1,10);
polarbubblechart(th,r,sz,'red');
title('极坐标气泡图');

这些技巧和例子只是Matlab绘图中的冰山一角。只要用户探索绘图工具箱中不同功能的组合使用方式,就可以使自己的绘图能力水平更上一层楼。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Matlab绘图案例,MATLAB画图大法,附详细代码 的相关文章

  • Numpy 相当于 MATLAB 的 hist [重复]

    这个问题在这里已经有答案了 由于某种原因 Numpy 的 hist 总是返回比 MATLAB 的 hist 少 1 个 bin 例如在 MATLAB 中 x 1 2 2 2 1 4 4 2 3 3 3 3 Rep Val hist x un
  • 在matlab中不使用for循环检查数组中的成员资格

    我想简化这段代码 使其无需 for 循环即可工作 for i 1 N for j 1 N if ismember j A PID i i TFP i j PID i i end end end 其中A是一个包含一些标签的矩阵 我之前存储的T
  • Ilnumerics Ilpanel 在 winform 中编译成 dll 并加载到 matlab 时不激活

    我想将 Visual studio 2012 中用 C 编写的 winform 编译为 dll 然后将其加载到 matlab 2013a 中 然后 我想使用 matlab net 接口与 winform 进行交互 侦听其事件并通过一组预定义
  • 如何将数据传递给 MATLAB oncleanup 函数?

    我有一个编译好的 matlab 程序 可以自动调整机器参数 在调整周期结束时 我需要恢复一些原始设置 有时会发生意外错误 有时用户会发现调整算法未正常工作 因此应终止 使用 control C 如果发生可预测的错误 我可以使用 try ca
  • 通过 cuFFT 进行逆 FFT 缩放

    每当我使用 cuFFT 绘制程序获得的值并将结果与 Matlab 的结果进行比较时 我都会得到相同形状的图形 并且最大值和最小值位于相同的点 然而 cuFFT 得到的值比 Matlab 得到的值大得多 Matlab代码是 fs 1000 s
  • MATLAB:将当前文件夹设置为脚本位置

    我在不同的文件夹中有一些脚本和数据 我使用addpath和相对路径经常 我的问题是 只有当我的当前文件夹是我执行的脚本所在的位置时 这才有效 例如 如果我执行添加路径 X 的脚本 A 然后执行位于路径 X 中的脚本 B 则 Matlab 不
  • 帮助我理解FFT函数(Matlab)

    1 除了负频率之外 FFT 函数提供的最小频率是多少 是零吗 2 如果它为零 我们如何在对数刻度上绘制零 3 结果总是对称的 或者只是看起来是对称的 4 如果我使用abs fft y 来比较2个信号 我是否会失去一些准确性 1 除了负频率之
  • 优先连接,Matlab 中的复杂网络

    大家好 我现在正在 MATLAB 中研究优先附件模型 在理解以下内容时遇到一些困难 假设我一开始有 4 个节点 连接如下 time 0 1 lt gt 2 3 lt gt 4 在下一个时间步骤中 我添加一个节点和 4 个连接 然后添加另一个
  • 如何从 matlab 调用 Qtproject?

    我在 matlab 中有一个函数可以写入一个 file txt 我在 qt 项目中使用它 So 当我使用 unix 获取要运行的 qt 编译可执行文件时 我有一个 Matlab 文件 但出现错误 代码 unix home matt Desk
  • MATLAB 中的逻辑数组与数值数组

    我正在比较两个二进制数组 我有一个数组 其中值可以是一或零 如果值相同则为 1 如果不同则为零 请注意 我正在做检查之外的其他事情 因此我们不需要进入矢量化或代码的性质 在 MATLAB 中使用数值数组和逻辑数组哪个更有效 Logical
  • MATLAB:图像角坐标和引用元胞数组

    我在比较不同元胞数组中的元素时遇到一些问题 这个问题的背景是我正在使用bwboundariesMATLAB 中的函数可追踪图像的轮廓 该图像是结构横截面 我试图找出整个部分是否具有连续性 即 只有一个轮廓由bwboundaries命令 完成
  • 用于读取csv写入数组的c++程序;然后操作并打印到文本文件中(已经用 matlab 编写)

    我想知道是否有人可以帮助我 我正在尝试构建一个程序 从 csv 文件中读取大小未知的浮点数大数据块 我已经在 MATLAB 中编写了此代码 但想要编译和分发此代码 因此转向 C 我只是在学习并尝试阅读本文以开始 7 5 19892 4 23
  • MATLAB 问题中的 Parfor

    为什么我不能使用parfor在这段代码中 parfor i 1 r for j 1 N r xr j N r i 1 x i r j 1 end end 这是错误 错误 parfor 中的变量 xr 无法分类 请参阅 MATLAB 中的并行
  • Matlab:如何读取以逗号作为小数分隔符的数字?

    我有很多 数十万 相当大 gt 0 5MB 的文件 其中数据是数字 但以逗号作为小数分隔符 使用像这样的外部工具对我来说是不切实际的sed s g 当分隔符是点时 我只使用textscan fid f f f 但我看不到更改小数点分隔符的选
  • 在 numpy/scipy 中查找 matlab 函数

    是否有一个等价的函数find A gt 9 1 来自 numpy scipy 的 matlab 我知道有nonzeronumpy 中的函数 但我需要的是第一个索引 以便我可以在另一个提取的列中使用第一个索引 Ex A 1 2 3 9 6 4
  • 使用正常数据直方图与直接公式进行熵估计(matlab)

    假设我们已经绘制了n 10000标准正态分布的样本 现在我想使用直方图计算其熵来计算概率 1 计算概率 例如使用matlab p x hist samples binnumbers area x 2 x 1 sum p p p area b
  • MATLAB 符号替换

    我知道在 MATLAB 中如果声明了 syms x y f x 2 y 2 grad gradient f 然后grad会存储值 2 x 2 y 如果我想评估梯度 2 2 I use subs f x y 2 2 这返回 4 4 我正在编写
  • Matlab的uicontrol在Octave中的实现?

    我正在尝试在 Octave 中运行我们实验室中使用的图形程序的 m Matlab 代码 Octave 告诉我代码中使用的函数 uicontrol 没有定义 经过一番搜索 我发现 JHandles 包有一个 uicontrol GUI 功能的
  • 如何从列中创建对称矩阵?

    例如 我想转动以下列 90 175 600 650 655 660 代入矩阵 90 175 600 650 655 660 175 600 650 655 660 655 600 650 655 660 655 650 650 655 66
  • 如何使用最小生成树方法将边缘连接到图像中的节点

    我正在做我的手写图像图形匹配项目 我想在图形中表示给定的单词图像 我使用下面的算法 Algorithm input Binary image B Grid width w Grid height h Output Graph g V E w

随机推荐

  • 同时安装cuda8和cuda9

    转载自 https blog csdn net lovebyz article details 80704800 为了使用tensorflow目标检测API的所有算法 所以打算升级一下CUDA版本以支持tf gpu 1 5 但原本项目都是基
  • HTML5 canvas标签-1 基本使用

    终于有空使用csdn和大家分享点自己平时学习工作时候的心德啦 第一步 介绍下canvas的基本使用 首先 因为canvas是html5的一个标签 所以保险起见 可以先确认下canvas是否兼容 try document createElem
  • VISIO中的工具栏、菜单栏丢失的原因及解决办法

    症状 在 Microsoft Visio 中 您可能会遇到一个或多个以下症状 您所了解的工具栏是启用是不可见的 找不到菜单栏 按钮从工具栏中消失了
  • k8s搭建部署3个节点服务器

    目录 一 环境准备 二 安装kubeadm kubelet和kubectl 三 部署kubernetes Master 四 node节点加入集群 五 查看集群的状态 Init ImagePullBackOff错误 swap分区没有关闭 没有
  • 华为OD机试真题2023(JavaScript)

    华为机试题库已于5月10号由2022Q4 A卷 切换 为2023 B卷 B卷区地址 华为OD机试真题2023 B卷 JS 华为机试有三道题目 第一道和第二道属于简单或中等题 分值为100分 第三道为中等或困难题 分值为200分 总分为400
  • matlab 平方差,第七章 最小平方差的方法(The Method of Least Square ).doc

    第七章 最小平方差的方法 The Method of Least Square doc 第七章 最小平方差的方法 The Method of Least Square 本章說明利用最小平方差法 找出適合一組資料的曲線 在本章中包含Matla
  • T100客户端接口开发实例(T100对接销售易CRM)

    design bu leezec 296066606 应用实例 T100销售订单推送到CRM 需求分解 1 调用销售易接口校验取得token 2 取得token后按照要求推送数据 1 什么是token 首先 要调用CRM的实际应用场景 就绕
  • ISula 容器学习历程

    容器统一架构图 转自ISula容器引擎 openeuler org 1 下载安装 iSulad容器的下载安装只需要很简单的一条命令 yum install y iSulad 安装完成 2 容器配置 以配置nginx服务器为例 2 1 启动i
  • python 算法基础

    目录 基础算法 一元回归算法 多项式回归 预测 任意函数回归 分类算法 kNN k最邻近算法 聚类算法 k means DBSCAN 推荐算法 暂时不写 降维算法 数据预处理 主成分分析 PCA 因子分析 FactorAnalysis sk
  • 浅谈Web用户体验(一)

    最近一段时间在接触web用户体验 我认为 如果要鼓励用户去使用一个新的网站或软件 首先要做到的是 把用户需要完成的事的难度尽量降低 因为一般用户是没有耐性 有点懒的去做复杂的事的人 要解决这些问题 下面总结了一些方法 第一 尽量告诉用户需要
  • TightVNC H264编解码(二)之硬编码库的编译

    AVCodec codec avcodec find encoder by name nvenc h264 如果是默认的ffmpeg库 返回结果是NULL 看来是不带有硬编码功能的 重新编译分支ffnvcodec 不到半个小时编译完成 返回
  • Git 常用命令 --- git push命令

    git push的一般形式为 git push lt 远程主机名 gt lt 本地分支名 gt lt 远程分支名 gt 例如 git push origin master refs for master 即是将本地的master分支推送到远
  • golang配置国内镜像

    点击进入 golang中文网
  • elementUI图片遍历循环+预览【el-image查看大图+预览】

    我这边接受的数据结构 code 200 msg 图片列表 object id 1 partsName picturesName a jpg picturesUrl http 192 168 3 65 8111 image a jpg typ
  • POI向Excel中插入图片

    package com xiangyu bigdata xycom execl import java awt image BufferedImage import java io ByteArrayOutputStream import
  • flask-sqlalchemy 解决 with_for_update() 行锁不生效、数据滞后问题

    解决方案 我先把解决方案放在前面 后面慢慢阐明拖了我三天的研究过程和原因 若出现带锁的查询修改前 先行commit一次 model db session commit 先行commit一次 user models User query wi
  • Python-字符串str和json格式的转换

    我是精神抖擞王大鹏 不卑不亢 和蔼可亲 计算机硕士 目前小米大数据开发 日常会分享总结一些自己面试实际问题的回答 欢迎一起讨论 公众号 diting dapeng str转json str转换为json格式 前提一定需要保证这个str的格式
  • Building the kernel with clang

    https lwn net Articles 734071 https oschina net news 89194 linux build kernel with clang Building the kernel with clang
  • neo4j语法-where

    where语句无法单独使用 而是和match optional match start with一起使用 或者做为with和start的结果过滤器 基础使用 操作符 MATCH n WHERE n name Peter XOR n age
  • Matlab绘图案例,MATLAB画图大法,附详细代码

    目录 1 使用subplot创建多个子图 2 绘制误差棒图 3 绘制条形堆积图 4 绘制堆积面积图 5 绘制直方图并拟合曲线 6 绘制等高线图 7 绘制光滑的曲线 8 绘制彩虹图 9 绘制带有错误标记的散点图 10 绘制水平堆积条形 11