MATLAB 画图

目录

图形对象属性

坐标轴

散点图

Line 属性

imagesc

histogram 直方图

subplot

图像保存

其他


图形对象属性

set 设置图形对象属性

set(H,Name,Value):为 H 标识的对象指定其 Name 属性的值

p = plot(1:10);
set(p,'Color','red')% 更改特定线条的颜色

gca 当前坐标区或图
设置当前坐标区的字体大小、刻度方向、刻度长度以及 y 坐标轴范围。

ax = gca; % current axes
ax.FontSize = 12;
ax.TickDir = 'out';
ax.TickLength = [0.02 0.02];
ax.YLim = [-2 2];

figure窗口背景的黑白变换

背景的暂时变化,对于新建的figure无效:
set(gcf,'color','white'); (gcf 返回当前Figure 对象的句柄值)

对于新建的figure同样有效:
colordef black(从白色变为黑色背景)
colordef white(从黑色变白色)
colordef none(变为默认值)

以上修改,你会发现一旦关了Matlab再开启,所有的设置又会变回去,不能永久保存。如果需要永久改变,可以用这个命令:reset(groot)

坐标轴

title :添加标题
在标题中可以包含变量的值,例如:

figure
plot((1:10).^2)
f = 70;
c = (f-32)/1.8;
title(['Temperature is ',num2str(c),' C'])

xlim([xl xr]);ylim([yl yr]);用于限定x轴 y轴上线限制

坐标轴的显示方式
axis off;% 去掉坐标轴
axis tight;% 紧坐标轴
axis equal;% 等比坐标轴

set(gca,'YDir','reverse') 把y轴反转,Y轴值上面小,下面大

set(gca,'YDir','normal') 回到正常

若要为图形删除边框线,则输入命令:

box off
box on   # 加入框线

散点图

scatter(x,y,sz,c) 
sz:指定圆大小。要绘制大小相等的圆圈,请将 sz 指定为标量。要绘制大小不等的圆,请将 sz 指定为长度等于 x 和 y 的长度的向量。
c:指定圆颜色。要以相同的颜色绘制所有圆圈,请将 c 指定为颜色名称或 RGB 三元组。要使用不同的颜色,请将 c 指定为向量或由 RGB 三元组组成的三列矩阵。

scatter(___,'filled') 
填充圆形。可以将 'filled' 选项与前面语法中的任何输入参数组合一起使用。


Line 属性

线条

Color - 线条颜色

[0 0 0] (默认黑色) | RGB 三元组 | 十六进制颜色代码 | 'r' | 'g' | 'b' | ...

颜色短名称
'r'
绿'g'
'b'
'y'
'k'
'w'
青蓝色'c'

LineStyle - 线型
'-' (默认) | '--' | ':' | '-.' | 'none'

线型说明
'-'实线
'--'虚线
':'点线
'-.'点划线

LineWidth - 线条宽度
0.5 (默认) | 正值
线宽,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。如果该线条具有标记,则线条宽度也会影响标记边。

Marker - 标记符号
'none' (默认) | 'o' | '+' | '*' | '.' | ...

说明
'o'圆圈
'+'加号
'*'星号
'.'
's'方形
'd'菱形
'p'五角星
'h'六角星

MarkerIndices - 要显示标记的数据点的索引
1:length(YData) (默认) | 正整数向量 | 正整数标量
要显示标记的数据点的索引,指定为正整数向量。如果不指定索引,MATLAB 将在每个数据点显示一个标记。

 plot(x,y,'-o','MarkerIndices',[1 5 10]) % 在第一、第五和第十个数据点处显示圆形标记。plot(x,y,'-x','MarkerIndices',1:3:length(y)) % 每隔三个数据点显示一个交叉标记。plot(x,y,'Marker','square','MarkerIndices',5) % 在第五个数据点显示一个正方形标记。


plot 二维线图

plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) 设置每个线条的线型、标记符号和颜色。您可以混用 X、Y、LineSpec 三元组和 X、Y 对组。指定线型、颜色和标记:

plot(x,y1,'g',x,y2,'b--o',x,y3,'c*')

plot(ax,___)
将在由 ax 指定的坐标区中,而不是在当前坐标区 (gca) 中创建线条。选项 ax 可以位于前面的语法中的任何输入参数组合之前。

ax1 = subplot(2,1,1); % top subplot
x = linspace(0,3);
y1 = sin(5*x);
plot(ax1,x,y1)
title(ax1,'Top Subplot')
ylabel(ax1,'sin(5x)')ax2 = subplot(2,1,2); % bottom subplot
y2 = sin(15*x);
plot(ax2,x,y2)
title(ax2,'Bottom Subplot')
ylabel(ax2,'sin(15x)')


imagesc

https://www.mathworks.com/help/matlab/ref/imagesc.html#d122e631230

  • imagesc(A) 将矩阵A中的元素数值按大小转化为不同颜色,并在坐标轴对应位置处以这种颜色染色
  • imagesc(x,y,A) x,y决定坐标范围,x,y应是两个二维向量,即x=[x1 x2],y=[y1 y2],matlab会在[x1,x2]*[y1,,y2]的范围内染色。
imagesc(___,clims)

clims指定映射到colormap的第一个和最后一个元素的数据值
clims=[cmin-cmax]
其中小于或等于tocminmap的值映射到colormap中的第一种颜色,大于或等于tocmaxmap的值映射到colormap中的最后一种颜色。


histogram 直方图

histogram(X) 基于 X 创建直方图。
histogram 函数使用自动 bin 划分算法,然后返回均匀宽度的 bin,这些 bin 可涵盖 X 中的元素范围并显示分布的基本形状。
histogram 将 bin 显示为矩形,这样每个矩形的高度就表示 bin 中的元素数量。
例如:生成 10,000 个随机数并创建直方图。histogram 函数自动选择合适的 bin 数量,以便涵盖 x 中的值范围并显示基本分布的形状。

x = randn(10000,1);
h = histogram(x)

 

histogram(X,nbins) 使用标量 nbins 指定的 bin 数量。
例如:对分类为 25 个等距 bin 的 1,000 个随机数绘制直方图:

x = randn(1000,1);
nbins = 25;
h = histogram(x,nbins)

 

指定 histogram 函数的输出参数时,它返回一个二元直方图对象。可以使用该对象检查直方图的属性:Histogram 属性

counts = h.Values
counts = 1×25..........

调整直方图属性
通过显式设置 bin 数按精细颗粒级别调整 bin。
h.NumBins = 31;
h.BinEdges = [-3:3];
通过向量指定 bin 边界。向量中的第一个值是第一个 bin 的左边界。最后一个值是最后一个 bin 的右边界。
h.EdgeColor = 'r';

指定直方图的 bin 边界

x = randn(1000,1);
edges = [-10 -2:0.25:2 10];
h = histogram(x,edges);

生成 1,000 个随机数并创建直方图。将 bin 边界指定为向量,使宽 bin 在直方图的两边,以捕获不满足|x|<2 的离群值。第一个向量元素是第一个 bin 的左边界,而最后一个向量元素是最后一个 bin 的右边界。
 
histogram(___,Name,Value) 使用前面的任何语法指定具有一个或多个 Name,Value 对组参数的其他选项。例如:
可以指定 'BinWidth' 和一个标量以调整 bin 的宽度。
或指定 'Normalization' 和一个有效选项('count'、'probability'、'countdensity'、'pdf'、'cumcount' 或 'cdf')以使用不同类型的归一化

histogram(C)(其中 C 为分类数组)通过为 C 中的每个类别绘制一个条形来绘制直方图。
histogram(C,Categories) 仅绘制 Categories 指定的类别的子集。

A = [0 0 1 1 1 0 0 0 0 NaN NaN 1 0 0 0 1 0 1 0 1 0 0 0 1 1 1 1];
C = categorical(A,[1 0 NaN],{'yes','no','undecided'})
h = histogram(C,'BarWidth',0.5)
% 使用相对条形宽度 0.5 绘制投票的分类直方图。

 

hist()

hist有直方图的意思,直方图也被称为频数直方图,它用来显示数据集的分布情况。

hist(x) 基于向量 x 中的元素创建直方图条形图。x 中的元素有序划分入 x 轴上介于 x 的最小值和最大值间的 10 个等间距 bin 中。hist 将 bin 显示为矩形,这样每个矩形的高度就表示 bin 中的元素数量。

[counts,centers] = hist(___) 返回一个附加行向量 centers,指示 x 轴上每个 bin 中心的位置。
例如:生成 1,000 个随机数。计算 10 个等间距 bin 的每一个中有多少个数字。返回 bin 计数和 bin 中心。

x = randn(1000,1);  
[counts,centers] = hist(x)

counts = 1×10

4 27 88 190 270 243 123 38 13 4

centers = 1×10

-2.8915 -2.2105 -1.5294 -0.8484 -0.1673 0.5137 1.1947 1.8758 2.5568 3.2379
使用 bar 绘制直方图。

bar(centers,counts)

 

subplot

subplot(m,n,p) 将当前图窗划分为 m×n 网格,并在 p 指定的位置创建坐标区。

但用这个方法画出来的图周围会有很大的白边,如果要去除它需要对每一个子图设置准确位置:

subplot('position',[0.05 0.71 0.9 0.25])

图像保存

1、使用imwrite函数

imwrite(img,'result.jpg');
这种方法保存图像大小和显示的大小是一样的。
注意:用imwrite保存的图片只有图片本身,没有其他内容。

将plot/imagesc产生的图片使用imwrite()保存到本地

x = -10:0.1:10; % x赋值
y = x.^2; % y赋值
fig = figure; % 新建一个figure,并将图像句柄保存到fig
plot(x,y,'.') % 用"."的形式将x,y表现在上面生成的图像中
legend({'y=x^2'},'Location','northwest') % 在图像的左上角生成图例
frame = getframe(fig); % 获取frame
img = frame2im(frame); % 将frame变换成imwrite函数可以识别的格式
imwrite(img,'a.png'); % 保存到工作目录下,名字为"a.png"

getframe捕获坐标区或图窗作为影片帧

F = getframe 捕获显示在屏幕上的当前坐标区作为影片帧。
F 是一个包含图像数据的结构体。getframe 按照屏幕上显示的大小捕获这些坐标区它并不捕获坐标区轮廓外部的刻度标签或其他内容。

F = getframe(ax) 捕获 ax 标识的坐标区而非当前坐标区。
F 是一个结构体,其中包含的 cdata 字段中包含捕获的图像数据。
使用 imshow 显示捕获的图像数据

plot(rand(5))
F = getframe;figure
imshow(F.cdata)
imwrite(frame.cdata,path) %保存图像

F = getframe(fig) 捕获由 fig 标识的图窗。如果您需要捕获图窗窗口的整个内部区域(包括坐标区标题、标签和刻度线),则指定一个图窗。捕获的影片帧不包括图窗菜单和工具栏。

2、saveas命令
saveas函数可以将指定figure中的图像或者simulink中的框图进行保存。saveas的格式为:
saveas(gca, filename, fileformat),其中的三个参数:
(1)gca:图形句柄,如果图形窗口标题栏是“Figure 3”,则句柄就是3;也可以直接用gcf获取当前窗口句柄。
(2)filename:单引号字符串,指定文件名
(3)fileformat:单引号字符串,指定存储格式

saveas(gcf,'save.jpg'); %保存当前窗口的图像
saveas(2,'save.jpg'); %保存Figure 2窗口的图像
saveas(gcf,'C:\Users\jin\Desktop\sinx.jpg') 
% 其中C:\Users\jin\Desktop\是想要保存图形的路径。

saveas保存的结果,有白边。如果想将生成的图片用于后续的图像处理,建议使用imwrite函数,否则,用哪种保存函数都可以。

3、print

打印图窗或保存为特定文件格式

print('-dpng','-r1000','20210317-1902.png')

指定分辨率,将图窗另存为图像文件。【产生位图(质量好坏与分辨率有关),适用于伪彩图。MATLAB直接复制图窗得到矢量图,适用于曲线图】


保存图片并批量命名时,冒号:不能作为命名。

保存自定义的颜色图 color bar

save(filename,variables)

% 保存设置的颜色图
ax = gca;
MyColormap = colormap(ax);
save('MPLNETmap','MyColormap')

其他

图中曲线按顺序画出:

pause(a)表示程序暂停a秒后继续执行

当程序中只有pause,并没有参数a,按任意键程序才继续执行。可用于hold on前后。

MATLAB气象绘图汇总
https://mp.weixin.qq.com/s/6KxZmA-p1ORaKEmA8mno5g

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

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

相关文章

matlab plot绘图函数官方详解

plot&#xff1a; 二维线图函数 语法 plot(X,Y) plot(X,Y,LineSpec) plot(X1,Y1,...,Xn,Yn) plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) plot(Y) plot(Y,LineSpec) plot(___,Name,Value) plot(ax,___) h plot(___) 说明 plot(X,Y) 创建 Y 中数据对 X 中对应值的二…

使用matlab画图中图

又到一年论文季&#xff0c;没想到临近投稿的我居然会被图片的清晰度打败&#xff0c;需要子母图的时候&#xff0c;我直接使用powerpoint进行拼接&#xff0c;多次png另存为&#xff0c;图已经糊出了新高度&#xff0c;那种超级糊图在论文里应该是投不出去的吧。。。但是&…

MATLAB 绘图

一、绘图的基本步骤 在MATLAB中绘制图形&#xff0c;通常采用以下7个步骤 1.准备数据 准备好绘图需要的横坐标变量和纵坐标变量数据。 2.设置当前绘图区 在指定的位置创建新的绘图窗口&#xff0c;并自动以此窗口的绘图为当前绘图区。 3.绘制图形 创建坐标轴&#xff0c;指定叠…

【Matlab】MATLAB绘图

专题四 MATLAB绘图 绘图的目的是使数据可视化。 一 二维曲线 1. 函数plot() 在MATLAB中,函数plot()是最基本的绘图函数,利用它可以绘制出不同的二维曲线。函数plot()的基本用法: plot(x, y) % 其中,x和y分别用于存储x坐标和y坐标数据,通常x和y是长度相等的向…

MATLAB绘图

在MATLAB中绘制函数图形的步骤如下&#xff1a; 先定义变量 x&#xff0c;通过指定的变量 x 值的范围&#xff0c;该函数被绘制&#xff1b; 然后定义函数&#xff0c; y f(x)&#xff1b; 最后调用 plot 命令&#xff0c;如 plot(x, y)。 接下来我们通过例子绘制简单的函…

Matlab绘图合集:plot 绘图

本文主要介绍MATLAB 中plot函数画图的基本用法。 语法 plot(X,Y) plot(X,Y,LineSpec) plot(X1,Y1,...,Xn,Yn) plot(X1,Y1,LineSpec1,...,Xn,Yn,LineSpecn) plot(Y) plot(Y,LineSpec) plot(tbl,xvar,yvar) plot(tbl,yvar) plot(ax,___) plot(___,Name,Value) p plot(___) 创建…

ChatGPT商业软件集成开发项目

作为一个语言模型&#xff0c;ChatGPT的主要功能是回答用户提出的问题和生成相关内容。以下是一些ChatGPT可能提供的功能&#xff1a; 回答问题&#xff1a;ChatGPT可以回答各种类型的问题&#xff0c;包括常见问题、技术问题、文化问题等。 生成文本&#xff1a;ChatG…

2022 年度盘点 | 更成熟的 AI,更破圈的技术狂欢

内容一览&#xff1a;2022 年 AI 领域发展不断提速&#xff0c;新技术成果纷纷落地&#xff0c;模型迭代加速升级。本文总结了 2022 年 AI 领域各大公司的技术成就。 关键词&#xff1a;年终盘点 大厂 技术创新 2022 年在此起彼伏的咳嗽声中接近尾声&#xff0c;这一年&…

给大模型持久记忆!GitHub 2万星向量数据库云服务升级,国内云产品7月上线

允中 发自 凹非寺量子位 | 公众号 QbitAI 一个在GitHub上标星超2万的数据库&#xff0c;究竟是什么来头&#xff1f; 原来&#xff0c;这正是最近大火的向量数据库之一、首个在这一赛道开源产品Milvus。 自大模型爆火以来&#xff0c;它的关注度也一路飙升&#xff0c;官方显示…

ModaHub魔搭社区:给大模型持久记忆!GitHub2万星向量数据库服务升级,国内7月上线

一个在GitHub上标星超2万的数据库,究竟是什么来头? 原来,这正是最近大火的向量数据库之一、首个在这一赛道开源产品Milvus。 自大模型爆火以来,它的关注度也一路飙升,官方显示,目前Milvus已经拥有超过1000+企业用户。 而就是这么一个GitHub上最流行的向量数据库,背后公…

如何设计一个面向开发者全生命周期成本的全托管向量检索服务产品?

向量数据库的新趋势已然开始显现&#xff01; 2023 年初&#xff0c;我曾预测过今年向量数据库发展的八大趋势《向量数据库的下一站&#xff0c;2023 的 8 个预测》&#xff0c;其中提到&#xff1a;向量数据库会出现分叉和分层&#xff0c;离线与在线将共存&#xff0c;单机与…

4 个月、2 万颗星,1 个恒纪元

1, 10,000 15,000 20,000 Milvus 以 4 个月 5 千星的速度迈入 20,000 Star 项目的队列&#xff0c;这意味着有越来越多的开发者看到并认可 Milvus&#xff0c;为 Milvus 进入 AIGC 恒纪元注入了更多力量。 01.从“什么是向量数据库”到“大模型记忆体” 2019 年&#xff0c;我们…

给大模型持久记忆!GitHub 2万星向量数据库云服务升级,国内云产品下周上线

一个在GitHub上标星超2万的数据库&#xff0c;究竟是什么来头&#xff1f; 原来&#xff0c;这正是最近大火的向量数据库之一、首个在这一赛道开源产品Milvus。 自大模型爆火以来&#xff0c;它的关注度也一路飙升&#xff0c;官方显示&#xff0c;目前Milvus已经拥有超过1000企…

开源铸剑,五载匠心!Zilliz Cloud云服务盛装登场,引领向量数据库云时代!

2023 年注定是属于大模型和向量数据库的巅峰时刻。国内大模型的发展也迎来前所未有之机遇&#xff0c;“百模”激战正酣。在刚闭幕的世界人工智能大会上&#xff0c;国内外科技公司全线加入&#xff0c;三十余款大模型集中亮相&#xff0c;“国家队”尘埃落定&#xff0c;并正式…

璀璨五年,磨砺一剑!Zilliz Cloud云服务国内正式登场,定义大模型时代向量数据库的新纪元!...

2023 年注定是属于大模型和向量数据库的巅峰时刻。国内大模型的发展也迎来前所未有之机遇&#xff0c;“百模”激战正酣。在刚闭幕的世界人工智能大会上&#xff0c;国内外科技公司全线加入&#xff0c;三十余款大模型集中亮相&#xff0c;“国家队”尘埃落定&#xff0c;并正式…

头部大模型公司进京赶考,向量数据库成为应考神器

日前&#xff0c;由品玩主办的「模型思辨」国内大模型产业生态研讨会在北京举办&#xff0c;Zilliz 与 360 集团、阿里巴巴、昆仑万维等来自大模型产业链的头部公司及投资机构参会&#xff0c;会上 Zilliz 创始人兼首席执行官星爵、360 集团创始人周鸿祎、昆仑万维创始人方汉等…

毛利率新高、现金流转正,“单纯”的金山云充满想象空间

‍数据智能产业创新服务媒体 ——聚焦数智 改变商业 5月23日&#xff0c;金山云发布了2023年一季度财报。根据财报显示&#xff0c;金山云Q1营收为18.6亿元&#xff0c;同比下滑14.2%&#xff0c;净亏损6.1亿元。尽管营收和利润较去年同期表现较差&#xff0c;但是毛利率达到了…

数字化价值赋能金融,CSDN行业技术峰会·金融科技深圳站圆满落幕

出品 | CSDN&#xff08;ID&#xff1a;CSDNnews&#xff09; 随着移动互联网、大数据、云计算、人工智能等科技的普及和应用&#xff0c;金融行业也开始向数字化、智能化、个性化的方向转变&#xff0c;为用户提供更加便捷、快速、个性化的服务。创新技术如何赋能金融行业&…

一起了解代驾出行综合运营方案解决服务商

对于代驾出行综合运营方案解决服务商你在市面上了解多少呢&#xff0c;下面就让我们一起来看看吧。 基于中国互联网出行行业-代驾项目为依托&#xff0c;成立互联网代驾全链路服务商&#xff1b;核心运营业务&#xff1a;第三方品牌运营服务、平台中心化流量赋能、自研全场景代…

6岁的招聘界“ChatGPT”|企业家俱乐部“创业者下午茶”第八期——AI得贤招聘官创始人方小雷

您知道吗&#xff1f;中国6年前就有“ChatGPT”产品了&#xff1f; 南京大学上海校友会企业家俱乐部“创业者下午茶”本期来到位于徐汇区漕河泾开发区宝石园的AI得贤招聘官总部&#xff0c;听创始人01级商学院方小雷校友解构“招聘界的ChatGPT”&#xff0c;看AI如何赋能招聘。…