matlab绘图杂谈-stem函数和plot函数

2024-01-26 12:04

本文主要是介绍matlab绘图杂谈-stem函数和plot函数,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

出发点

今天在论文中看到一副这样的图,它既有曲线,又有点,并且对两者都添加了图例。三条曲线应该是用plot函数绘制的,而target哪个绿色的圆圈,我的理解是用stem函数绘制的。它只是1个点,并且没有竖线,stem绘制的默认的是茎叶图,既有线又有标记,像图中这个它就是只有标记。并且在右下角都给它添加了图例。觉得这种作图方法挺有意思的,学习一下,以后在论文中用。下面给大家介绍一下,这种编程方法。
在这里插入图片描述

图1 示例图片

编程实现

下面我绘制幅类似的图

figure; 
plot(abs(deChirpModRes),'k-','linewidth',1); %绘制曲线1
hold on;
plot(abs(deChirpModRes1),'b-','linewidth',1);%绘制曲线2
stem(maxPeakPos,abs(deChirpModRes1(maxPeakPos)),'marker','o','linestyle','none','markeredgecolor','r','markersize',6,'linewidth',1.5); %加标记点
xlabel('Sampling point'); ylabel('Amplitude');
legend('Befor jamming suppression','After jamming suppression','Target'); %添加图例

在这里插入图片描述

图2 添加标记的的绘图

这里采用stem(x,y)函数在横坐标为x的地方绘制1个点。线型、标记类型、颜色等参数采用name,value的方式一一给出。最后使用legend函数添加图例。

plot函数使用方法

plot函数是用于绘制曲线的,它会把一个个离散的点连接起来。
语法 plot(X,Y,LineSpec) 可以设置线型、标记符号和颜色。
线型控制
在这里插入图片描述

图3 plot线型设置

在这里插入图片描述

图4 plot标记控制设置

在这里插入图片描述

图5 plot颜色设置
### stem函数使用详解 具体有以下几种方法: 1. stem(Y) 2. stem(X,Y) %在 X 指定的值的位置绘制数据序列 Y 3. stem(___,'filled') 4. stem(___,LineSpec) %指定线型、标记符号和颜色 5. stem(___,Name,Value) %使用一个或多个 Name,Value 对组参数修改针状图。 6. stem(ax,___) 7. h = stem(___)

其中我经常使用的是语法2、4和5。
如果自己随便画一个图,那么直接使用语法2,其参数都采用默认参数,如果要自己控制参数,可以采用语法4。
语法4,可以设定线型、标记符号和颜色,例如stem(x,y,‘-.or’);
它设定的线型是点划线,标记是圆圈,颜色是红色。具体的参数可以参考下表:
在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

值得注意的是,使用plot函数的时候,这些参数的设置方法是和stem函数一样的。

如果要详细的设置stem绘图的参数,可以采用语法5,例如:

stem(X,Y,'LineStyle','-.',...'MarkerFaceColor','red',...'MarkerEdgeColor','green')

它可以分别控制线条、标记的各自的参数,具体可以查阅matlab官方的资料。
其中部分参数:

参数含义
linestyle线型
linewidth线宽
color颜色
marker标记符号
markersize标记大小

这篇关于matlab绘图杂谈-stem函数和plot函数的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/646742

相关文章

Oracle的to_date()函数详解

《Oracle的to_date()函数详解》Oracle的to_date()函数用于日期格式转换,需要注意Oracle中不区分大小写的MM和mm格式代码,应使用mi代替分钟,此外,Oracle还支持毫... 目录oracle的to_date()函数一.在使用Oracle的to_date函数来做日期转换二.日

C++11的函数包装器std::function使用示例

《C++11的函数包装器std::function使用示例》C++11引入的std::function是最常用的函数包装器,它可以存储任何可调用对象并提供统一的调用接口,以下是关于函数包装器的详细讲解... 目录一、std::function 的基本用法1. 基本语法二、如何使用 std::function

AI绘图怎么变现?想做点副业的小白必看!

在科技飞速发展的今天,AI绘图作为一种新兴技术,不仅改变了艺术创作的方式,也为创作者提供了多种变现途径。本文将详细探讨几种常见的AI绘图变现方式,帮助创作者更好地利用这一技术实现经济收益。 更多实操教程和AI绘画工具,可以扫描下方,免费获取 定制服务:个性化的创意商机 个性化定制 AI绘图技术能够根据用户需求生成个性化的头像、壁纸、插画等作品。例如,姓氏头像在电商平台上非常受欢迎,

hdu1171(母函数或多重背包)

题意:把物品分成两份,使得价值最接近 可以用背包,或者是母函数来解,母函数(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v)(1 + x^v+x^2v+.....+x^num*v) 其中指数为价值,每一项的数目为(该物品数+1)个 代码如下: #include<iostream>#include<algorithm>

科研绘图系列:R语言扩展物种堆积图(Extended Stacked Barplot)

介绍 R语言的扩展物种堆积图是一种数据可视化工具,它不仅展示了物种的堆积结果,还整合了不同样本分组之间的差异性分析结果。这种图形表示方法能够直观地比较不同物种在各个分组中的显著性差异,为研究者提供了一种有效的数据解读方式。 加载R包 knitr::opts_chunk$set(warning = F, message = F)library(tidyverse)library(phyl

C++操作符重载实例(独立函数)

C++操作符重载实例,我们把坐标值CVector的加法进行重载,计算c3=c1+c2时,也就是计算x3=x1+x2,y3=y1+y2,今天我们以独立函数的方式重载操作符+(加号),以下是C++代码: c1802.cpp源代码: D:\YcjWork\CppTour>vim c1802.cpp #include <iostream>using namespace std;/*** 以独立函数

函数式编程思想

我们经常会用到各种各样的编程思想,例如面向过程、面向对象。不过笔者在该博客简单介绍一下函数式编程思想. 如果对函数式编程思想进行概括,就是f(x) = na(x) , y=uf(x)…至于其他的编程思想,可能是y=a(x)+b(x)+c(x)…,也有可能是y=f(x)=f(x)/a + f(x)/b+f(x)/c… 面向过程的指令式编程 面向过程,简单理解就是y=a(x)+b(x)+c(x)

matlab读取NC文件(含group)

matlab读取NC文件(含group): NC文件数据结构: 代码: % 打开 NetCDF 文件filename = 'your_file.nc'; % 替换为你的文件名% 使用 netcdf.open 函数打开文件ncid = netcdf.open(filename, 'NC_NOWRITE');% 查看文件中的组% 假设我们想读取名为 "group1" 的组groupName

认知杂谈52

今天分享 有人说的一段争议性的话 I I 1拓展人脉很重要** 咱们活在这世上啊,得明白一件事儿,知识、逻辑能力和实战经验虽然重要,但确实都不是最关键的。真正关键的是要懂得怎么和那些手里有资源的人打交道。人脉那可真是一笔无形的大财富呢。你想想看,有时候一个有影响力的人帮你一把,那效果可比你累死累活干一年都强得多。 I I 就比如说,你要是认识个行业里的大牛,他可能给你介绍个特别好的工

利用matlab bar函数绘制较为复杂的柱状图,并在图中进行适当标注

示例代码和结果如下:小疑问:如何自动选择合适的坐标位置对柱状图的数值大小进行标注?😂 clear; close all;x = 1:3;aa=[28.6321521955954 26.2453660695847 21.69102348512086.93747104431360 6.25442246899816 3.342835958564245.51365061796319 4.87