MATLAB学习之绘图篇(二维图)

news2024/9/21 10:41:36

目录

1.1基础图形绘制

1.1.1使用plot函数进行图形绘制

1.1.2为图像增加图例

1.1.3为图片增加标题以及坐标轴的描述

 1.1.4控制坐标轴,边框以及网络

1.1.5在一个图像上绘制多条曲线

1.1.6在一个窗口绘制多个图像

1.1.7对图形的对象进行操作( 坐标属性,线型等)

1.2多种类型图像绘制 

1.2.1散点图

1.2.2折线图 

1.2.3柱状图

1.2.4饼状图 


1.1基础图形绘制

1.1.1使用plot函数进行图形绘制

plot(x,y,LineSpec)

参数意义如下:

x: 图线上点的x坐标。

y:图线上点的y坐标。

linespec:图线的线条设定,三个指定线型,标记符号颜色设定符组成一个字符串,设定符不区分先后。

以下例子演示了如何绘制(0,2π)余弦函数的图像。

x = 0:pi/20:2*pi;
y = cos(x);
plot(x, y, 'r.-')

此行代码表示(0,2π)为x的范围其中每隔pi/20取一个点。

x = 0:pi/20:2*pi;

 此行代码中'r.-'可查上表r表示红色-表示默认函数曲线.代表在线上画点。

plot(x, y, 'r.-')

1.1.2为图像增加图例

使用legend()函数为图片增加图例

legend()函数的用法为函数括号里面的内容用'  '包含如有多条曲线可以用,隔开。

以下例子演示了如何为图片增加图例

x=0:0.5:4*pi;
y=sin(x); h=cos(x); w=1./(1+exp(-x)); g=(1/(2*pi*2)^0.5).*exp((-1.*(x-2*pi).^2)./(2*2^2));
plot(x,y,'bd-' ,x,h,'gp:',x,w,'ro-' ,x,g,'c^-');		% 绘制多条图线
legend('sin(x)','cos(x)','Sigmoid','Gauss function');	% 添加图例

1.1.3为图片增加标题以及坐标轴的描述

 title()函数用来给图片增加标题。

xlablel()函数用来给x轴增加描述。

ylablel()函数用来给y轴增加描述。

以下例子用来演示如何给图片增加标题以及坐标轴的描述:

x = 0:0.1:2*pi; y1 = sin(x); y2 = exp(-x);
plot(x, y1, '--*', x, y2, ':o');
xlabel('t = 0 to 2\pi');
ylabel('values of sin(t) and e^{-x}')
title('Function Plots of sin(t) and e^{-x}');
legend('sin(t)','e^{-x}');

 1.1.4控制坐标轴,边框以及网络

使用以下命令可以对坐标轴,边框,网格进行操作。

1.1.5在一个图像上绘制多条曲线

默认情况下,每次执行plot()函数都会清除上一次绘图的结果,多次执行plot()只会保留最后一次绘制的图形。

如需绘制多条曲线可以先使用hold on先绘制函数图像,然后结束后使用hold off。

以下例子展示了如何在一张图像上显示多条曲线:

hold on		% 提起画笔,开始绘制一组图片			
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off	% 放下画笔,该组图片绘制完毕

1.1.6在一个窗口绘制多个图像

使用subplot()函数可以在一个窗口进行多个函数图像进行绘制

subplot(m,n,p)

 以下图片展示了什么是m,n,p(为123456所绘制的方框顺序也按图示进行排序)。

以下例子展示了如何在一个窗口绘制多张图片:

subplot(2,2,1);
x = linspace(-3.8,3.8);
y_cos = cos(x);
plot(x,y_cos);
title('Subplot 1: Cosine')

subplot(2,2,2);
y_poly = 1 - x.^2./2 + x.^4./24;
plot(x,y_poly,'g');
title('Subplot 2: Polynomial')

subplot(2,2,[3,4]);
plot(x,y_cos,'b',x,y_poly,'g');
title('Subplot 3 and 4: Both')

1.1.7对图形的对象进行操作( 坐标属性,线型等)

首先先获取函数图像的句柄,如下图所示:

 然后通过函数set(H,Name,Value)进行操作

以下代码展示了第一张图改变坐标轴字体大小,第二张图改变间隔距离以及坐标轴信息,第三张图要设置特殊显示所以要预先进行设置。

% 第一张图
set(gca, 'FontSize', 25);

% 第二张图
set(gca, 'XTick', 0:pi/2:2*pi);
set(gca, 'XTickLabel', 0:90:360);

% 第三张图
set(gca, 'FontName', 'symbol');
set(gca, 'XTickLabel', {'0', 'p/2', 'p', '3p/2', '2p'});

改变线型 

h = plot(x,y); 
set(h, 'LineStyle','-.', ...
	'LineWidth', 7.0, ...
	'Color', 'g');

1.2多种类型图像绘制 

1.2.1散点图

基础的散点图

x为(0.01,0.08)间隔0.01所对应的y组成的点,加载到scatter函数中进行绘制

x = 0.01:0.01:0.08;
y = [3.0743,3.0707,3.0716,3.1133,3.1685,3.1778,3.2467,3.2634];  
scatter(x, y);

通过函数绘制散点图

linspace表示从-2到2中取100个数值,然后加载到x^3函数中将所得到的点加载到scatter函数中

x = linspace(-2, 2, 100);
y = x .^ 3;  
scatter(x, y);

改变散点圆圈的大小

 scatter(x, y, sz);通过对sz传入参数的大小进行改变来改变圆圈的大小。

x = linspace(-2, 2, 100);
y = x .^ 3;  
sz = linspace(1, 100, 100);
scatter(x, y, sz);

1.2.2折线图 

通过直线将点直接连接起来

x = 3:2:11;
y=[4,5,9,6,4];  
plot(x, y);

1.2.3柱状图

基础柱状图给定x数值,按顺序得到y的数值,将y的数值用高度进行表示。

x = 3:2:11;
y=[4,5,9,6,4];  
bar(x, y);

多组变量的柱状图

其中每组变量y用;隔开进行区分。

x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];  
bar(x,y);

三维柱状图

只需将bar改成bar3就行

x=3:5;
y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];  
bar3(x,y);

 

水平柱状图

只需将bar改成barh就行

y=[4,5,9,6,4;5,7,9,8,7;1,3,5,9,7];
barh(y);

 

1.2.4饼状图 

只需传入一组参数

y=[4,5,9,6,4];  
pie(y);

三维饼状图

只需将pie改成pie3就行

y=[4,5,9,6,4];  
pie3(y);

 将某一扇形突出饼状图

传入一个向量将需要突出的部分置一

X=[2,2,1,5,2];
explode = [0 1 0 0 0];
pie(X,explode);

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

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

相关文章

LeetCode Hot100 二叉搜索树中第K小的元素

给定一个二叉搜索树的根节点 root ,和一个整数 k ,请你设计一个算法查找其中第 k 小的元素(从 1 开始计数)。 示例 1: 输入:root [3,1,4,null,2], k 1 输出:1示例 2: 输入&#xf…

【C/C++】C语言和C++实现Stack(栈)对比

我们初步了解了C,也用C语言实现过栈,就我们当前所更新过的有关C学习内容以栈为例子,来简单对比一下C语言和C。 1.C中栈的实现 栈的C语言实现在【数据结构】栈的概念、结构和实现详解-CSDN博客 ,下面是C实现的栈, 在St…

ImageNet数据集和CIFAR-10数据集

一、为什么需要大量数据集 人工智能其实就是大数据的时代,无论是目标检测、图像分类、还是现在植入我们生活的推荐系统,“喂入”神经网络的数据越多,则识别效果越好、分类越准确。因此开源大型数据集的研究团队为人工智能的发展做了大量贡献…

QT教程-十五,Qt-5.14.2安卓开发环境配

目录 一,Qt需要的组件 二,需要的环境配置 1,JDK配置 1.1 配置JDK环境 1.2 Qt中配置JDK,SDK,NDK 2,创建Qt安卓项目 2.1 配置gradle-5.5.1-bin.zip文件 最近想开发一款安卓app应用,但是又不想去重新学习一个新的知识体系。于是在自己更为…

2024.8.5 作业

1> 使用有名管道实现&#xff0c;一个进程用于给另一个进程发消息&#xff0c;另一个进程收到消息后&#xff0c;展示到终端上&#xff0c;并且将消息保存到文件上一份 create.c #include <myhead.h> int main(int argc,const char *argv[]) {if(mkfifo("./lin…

在windows下生成的mac苹果电脑端可以执行的unity项目程序,在mac电脑不能执行的修改方法

在windows下开发Unity项目&#xff0c;如果要执行的电脑是mac&#xff0c;必须在windows下生成for mac的程序&#xff0c;发现拷贝到mac电脑后不能执行&#xff1a; 原因是改程序没有mac的执行权限: 修改方法&#xff1a; 先打开终端&#xff1a; 进入文件所在目录 cd Downlo…

✅【文献串读】Object Counting论文串读

get宝藏博主&#xff1a;Tags - 郑之杰的个人网站 (0809zheng.github.io) 目标计数(Object Counting) - 郑之杰的个人网站 (0809zheng.github.io) 目录 1.《CountGD: Multi-Modal Open-World Counting》 2.&#xff08;2024CVPR&#xff09;《DAVE – A Detect-and-Verif…

报表控件stimulsoft操作:使用 Stimulsoft 产品连接到 OData 源

Stimulsoft Ultimate &#xff08;原Stimulsoft Reports.Ultimate&#xff09;是用于创建报表和仪表板的通用工具集。该产品包括用于WinForms、ASP.NET、.NET Core、JavaScript、WPF、PHP、Java和其他环境的完整工具集。无需比较产品功能&#xff0c;Stimulsoft Ultimate包含了…

FFmpeg实战 - 解复用与解码

大纲目录 文章目录 前置知识音视频基础概念解复用、解码的流程分析FFMPEG有8个常用库 常见音视频格式的介绍aac格式介绍&#xff08;ADTS&#xff09;h264格式分析FLV和MP4格式介绍 FFmpeg解码解封装实战数据包和数据帧&#xff08;AVPacket/AVFrame&#xff09;AVPacket/AVFra…

VHDX 安装操作系统

前言 使用 Win11 作为主力系统&#xff0c;再通过 VHDX 虚拟硬盘来安装另外的 Windows 系统。使用 VHDX 安装系统的好处在于&#xff1a;不影响原系统&#xff0c;用完即删。 需求 安装双系统&#xff0c;使用 VHDX 安装 WinServer 2022。 操作步骤 创建 VHDX 打开磁盘管…

一道笔试题 - 无重复字符的最长子串

老生常谈的一道题&#xff0c;常见并 文章目录 描述预期结果Java代码 描述 给定一个字符串 s &#xff0c;请你找出其中不含有重复字符的最长子串的长度。 预期结果 Java代码 import java.util.HashSet; import java.util.Set;public class Demo2 {public static void main(S…

为什么回测效果非常好的策略实盘却不行?

这是一个絮絮叨叨的专题系列&#xff0c;跟大伙儿唠一唠量化相关的小问题&#xff0c;有感而发写到哪算哪&#xff0c;这是第二期&#xff0c;来唠个12块钱的~ 之前在某乎看到这个问题&#xff0c;说的是自己的MACD策略回测绩效不错&#xff0c;但实盘比较拉胯&#xff0c;希望…

pxe666666

1.下载图形化工具 2.init 5进入 3.配个ip 4.安装图形化生成kickstart自动安装脚本的工具 5.配置httpd 6.浏览器查看 7.设置 保存 8.检查有无问题 9.共享 10.测试 11编辑配置文件37及后的脚本&#xff0c;并注释掉 27 28 12.安装pxe 13.共享pxelinux.0数据文件的网络服务 14.查询…

函数实例讲解(四)

文章目录 提取不重复值&#xff08;INDEX、MATCH、COUNTIF&#xff09;1、INDEX2、MATCH3、COUNTIF 提取不重复的值的经典套路&#xff08;LARGE、SMALL、ROW&#xff09;1、ROW2、LARGE3、SMALL&#xff09; 制作Excel动态查询表四舍五入函数(ROUND、ROUNDUP、ROUNDDOWN&#…

shell 环境变量

shell 变量加载顺序 set设置了当前shell进程的本地变量&#xff0c;本地变量只在当前shell的进程内有效&#xff0c;不会被子进程继承和传递。 env仅为将要执行的子进程设置环境变量。 export将一个shell本地变量提升为当前shell进程的环境变量&#xff0c;从而被子进程自动继…

搭建pxe网络安装环境

实验目的&#xff1a; 搭建pxe网络安装环境实现服务器自动部署 实验原理&#xff1a; PXE 网络安装环境实现服务器自动部署的实验原理为&#xff1a; 待安装的服务器&#xff08;PXE 客户端&#xff09;开机时&#xff0c;BIOS 设置从网络启动&#xff0c;向网络发送请求。…

54 GRE-VPN 点到点

一 理论 1 GRE 概念 GRE&#xff08;Generic Routing Encapsulation&#xff0c;通用路由封装&#xff09;协议用来对某种协议&#xff08;如IP、以太网&#xff09;的数据报文进行封装&#xff0c;使这些被封装的数据报文能够在另一个网络&#xff08;如IP&#xff09;中传…

职场“老油条”的常规操作,会让你少走许多弯路,尤其这三点

有句话说得好&#xff1a;“在成长的路上&#xff0c;要么受教育&#xff0c;要么受教训。” 挨过打才知道疼&#xff0c;吃过亏才变聪明&#xff0c;从职场“老油条”身上能学到很多经验&#xff0c;不一定全对&#xff0c;但至少有可以借鉴的地方&#xff0c;至少能让你少走…

Python实现AI自动化微信回复脚本

脚本相关技术 wxauto Windows版本微信客户端&#xff08;非网页版&#xff09;自动化&#xff0c;可实现简单的发送、接收微信消息&#xff0c;简单微信机器人 GitHub地址 AI 脚本联动的是讯飞星火的api&#xff08;主要是免费且无限token数&#xff08;必须实名后才能领…

嵌入式学习---DAY19:标准IO

1. I&#xff1a; input 输入 键盘 O&#xff1a;output 输出 显示器 2.Linux操作系统当中IO都是对文件的操作&#xff0c;linux下一切皆文件&#xff0c;文件用来存储数据&#xff08;数据&#xff0c;指令&#xff09;。 3.stdio.h 标准输入输出头文件。 …