Matlab(4)初阶绘图

一、Basic plotting

1.plot()

plot(x,y) :x图片中点的横坐标,y图片中点的纵坐标

plot(y) :y图片中点的纵坐标,x图片中点的横坐标默认为1,2,3,4,5........

plot(cos(0:pi/20:2*pi))

y —纵坐标的范围是0~2\pi,每个间隔\pi/ 20

2. hold on / off

① 无 hold on / off

plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));

只画sin(x),不画cos(x),因为sin(x)cos(x)的图片覆盖

② 有 hold on / off

hold on
plot(cos(0:pi/20:2*pi));
plot(sin(0:pi/20:2*pi));
hold off

sin(x)cos(x)的图像叠加

3. Plot Style

plot(x,y, ' str ')

hold on
plot(cos(0:pi/20:2*pi),'or--');
plot(sin(0:pi/20:2*pi),'xg:');
hold off

str 可以是以下三种类型,' str '里面填写每列右边一列

linsepec()可以查找更多

4. legend()

hold on
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,'or--',x,h,'xg:',x,w,'bd-',x,g,'c^-');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面两条线可以联合写成下面这种形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
legend('sin(x)','cos(x)','Sigmoid','Gauss function');
hold off

5. title()and ?label()

title()、xlabel()、ylabel()、zlabel()

hold on
x = 0:0.5:4*pi;
y = sin(x); h = exp(-x); 
plot(x,y,'or--',x,h,'xg:');
% plot(cos(0:pi/20:2*pi),'or--');
% plot(sin(0:pi/20:2*pi),'xg:');
% 上面两条线可以联合写成下面这种形式
% plot(x,cos(0:pi/20:2*pi),'or--',x,sin(0:pi/20:2*pi),'xg:');
title('Fuction Plots of sin(t) and e^{-x}');
xlabel('x =  0 to 4\pi');
ylabel('value of sin(x) and e^{-x}');
legend('sin(x)','e^{-x}');
hold off

在 图片x轴,y轴和标题上显示公式时需要 LaTex 语言

6. text()and annotation()

① line( [2,2] , [0,2^2^sin(2)] )

两点确定一条直线,[ 2 , 2 ]两点的横坐标,[ 0 , 2^2^sin(2) ]两点的纵坐标

② text(0.25,2.5,str,'Interpreter','latex');

图片中显示的标题使用LaTex语言

③ annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);
添加箭头,箭头的两个点横坐标分别占图幅的0.32和0.5,纵坐标分别占图幅的0.6和0.4

x = linspace(0,3);
y = x.^ 2.* sin(x);
plot(x,y);
line([2,2],[0,2^2*sin(2)]);
str = '$$ \int_{0}^{2} x^2\sin{x} dx $$';
text(0.25,2.5,str,'Interpreter','latex');
annotation('arrow','X',[0.32,0.5],'Y',[0.6,0.4]);

7. Fiegure Adjustment

 set( gcf,' Color ',[1,1,1] )

gcf 是 Figure object 的句柄,设置Figure object 的颜色为黑色:'Color',[1,1,1]

x = linspace(0,2*pi,1000);
y = sin(x);
plot(x,y);
set(gcf,'Color',[1,1,1]);

8. Figure Properties

9. Handle  of An Object

figure 的句柄是关键字 gcf ,Axes 的句柄是 gca,

获得Line句柄的语句是 h  = plot(x,y);

其他句柄列表如下

10. Fetching and Modifying Properties

得到设置属性get()和设置属性set()

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)  #得到Line(h)的句柄,可通过查看变量h来看
set(gcf,'Color',[1,1,1]);

二、Getting Object Properties

get(gca);get(gcf);h = plot(x,y),get(h)

1. Setting Axes Limits

set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);

XLim设置的是 x 轴的范围 0 ~ 2\pi,YLim设置的是 y 轴的范围 -1.2 ~ 1.2

或者也可以用下面这种写法

xlim([0,2*pi]);
ylim([-1.2,1.2]);

2. Setting Font and Tick of Axes

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(gcf,'Color',[1,1,1]);
set(gca,'XLim',[0,2*pi]);
set(gca,'YLim',[-1.2,1.2]);
set(gca,'FontSize',25);
set(gca,'XTick',0:pi/2:2*pi);
set(gca,'XTickLabel',0:90:360);
set(gca,'FontName','Latex');
set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'});

set(gca,'FontSize',25); 设置坐标轴字体大小为25

set(gca,'XTick',0:pi/2:2*pi); 设置坐标轴范围是0~2\pi,间隔是\pi/2.

set(gca,'XTickLabel',0:90:360); 设置坐标轴等间隔下的表示数字

set(gca,'FontName','Latex'); 设置坐标轴字体格式是Latex语言

set(gca,'XTickLabel',{'0','\pi/2','\pi','3\pi/2','2\pi'}); 设置坐标轴输出内容 0 ~ 2\pi

3. Line Specification

x = linspace(0,2*pi,1000);
y = sin(x);
h = plot(x,y);
get(h)
set(h,'LineStyle','-.', ...'LineWidth',7.0,'Color','g');

set(h,'LineStyle','-.', 'LineWidth',7.0,'Color','g');

设置LineStyle是:' -. ' 虚实线

设置LineWidth是:0.7,虚实线的粗细是0.7

设置Color虚实线的颜色是:绿色

4. Maker Sepecifiction

坐标轴下面的字体大小 FontSize设置为18;
线宽LineWidth是2,图形标记边缘颜色MarkerEdgeColor是黑色,图形标记内部颜色MarkerFaceColor是绿色,图形标记MarkerSize的大小是10。

x = rand(20,1);
set(gca,'FontSize',18);
plot(x,'-md','LineWidth',2,'MarkerEdgeColor','k','MarkerFaceColor','g','MarkerSize',10);
xlim([1,20]);

practise

hold on
x = linspace(1,2);
f = x .* x;
g = sin(2 * pi .* x);
plot(x,f,'-k','LineWidth',2);
plot(x,g,'or','MarkerFaceColor','m');
xlabel('Time(ms)');
ylabel('f(t)');
title('Mini Assignment #1');
legend('t^{2}','sin(2\pit)');
hold off

5. Multiple Figures

figure,plot(x,y1);  画图,该语句需要使用两次,以免新画的图覆盖原来画的图

x = -10:0.1:10;
y1 =  x .* 2 -8;
y2 = exp(x);
figure,plot(x,y1);
figure,plot(x,y2);

6. Figure Position and Size

figure(' Position ',[ left,bottom,width,height ] );

7. Several Plots in One Figure

subplot(m,n,1);

8. subplot()

t = 0:0.1:2*pi;
x = 3*cos(t);
y = sin(t);
subplot(2,2,1);plot(x,y);axis normal;
subplot(2,2,2);plot(x,y);axis square;
subplot(2,2,3);plot(x,y);axis equal;
subplot(2,2,4);plot(x,y);axis equal tight;

nomal 横纵坐标轴的比例恢复默认的自动调整模式

square 画出来的图片是方形的;

equal 画出来的图片横纵坐标比例是一样的;

equal tight 画出来的图片是横纵比例一样,且无多余留白的;

9. Control of Grid,Box,and Axis

grid on/off 画图背景是否有表格

box on/off 画图背景图片是否有边框

axis on/off 画图背景是否有坐标轴

10. saving Figure into Files

saveas(gcf,'filename','jgp')

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

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

相关文章

服务器硬件电路设计之 I2C 问答(五):I2C 总线数据传输方向如何确定、信号线上的串联电阻有什么作用?

在服务器硬件电路设计中,I2C 总线作为常用的串行通信总线,其数据传输方向的确定和信号线上串联电阻的作用是关键知识点。​I2C 总线数据传输方向由主设备和从设备的角色以及读写位共同确定。主设备是发起通信的一方,从设备则是被寻址的对象。…

OpenBMC中C++策略模式架构、原理与应用

1. 策略模式概述 策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时动态选择算法或行为,而无需修改客户端代码。 核心思想:封装可互换的算法族,使它们可以独立于使用它们的客户端变化。 1.…

【python实用小脚本-187】Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导

Python一键批量改PDF文字:拖进来秒出新文件——再也不用Acrobat来回导 PDF文字替换, 批量导出, 零依赖转档, 一键完成, 瑞士军刀 故事开场:一把瑞士军刀救了周五下班的你 周五 18:00,老板甩来 50 份合同 PDF: “把里面的‘2023’全…

汽车后雾灯色度难达标?OAS 软件精准解决破瓶颈

汽车后雾灯案例分析简介汽车后雾灯是车辆在能见度较低的雾、雨、雪等恶劣天气条件下行驶时,向后方车辆传递警示信号的重要装置,其性能直接关系到车辆的后方安全。根据规定,红色信号灯需符合 CIE1931 标准,其色度坐标 X 值应在 0.6…

[系统架构设计师]架构设计专业知识(二)

[系统架构设计师]架构设计专业知识(二) 一.信息系统基础知识 1.信息系统概述 信息系统功能:输入,存储,处理,输出,控制 理查德.诺兰: 初始,传播,控制&#xff…

如果用ApiFox调用Kubernetes API,需要怎么设置证书?

针对Docker Desktop中Kubernetes访问报SSL/TLS信任关系错误的问题,以下是综合解决方案:要在Postman中调用Kubernetes API并设置证书,需按以下步骤操作:🔐 证书设置步骤‌提取证书文件‌从kubeconfig文件(~/…

nodejs 路由/请求

//导入模块 const express require(express); //创建应用 const app express();//设置路由 app.get(/,(req,resp)>{//输出响应console.log(request coming.............);resp.json(req.headers); });app.get(/user/:id, (req, res) > {const userId req.params.id; …

Python 数据可视化:柱状图/热力图绘制实例解析

Python 数据可视化:柱状图绘制实例解析 一、引言 数据可视化是数据分析中至关重要的环节,它能将复杂的数据以直观的图形方式呈现,帮助我们更好地理解数据特征和规律。Python 拥有丰富的可视化库,其中 Matplotlib 是最常用的基础库…

API生命周期10阶段

一、策略规划(Strategy Planning) 核心任务:业务价值对齐、技术路线设计关键产出: API产品蓝图:定义业务领域边界(如支付API域、用户API域)治理规范:《API安全标准》《版本管理策略》…

UGUI源码剖析(9):布局的实现——LayoutGroup的算法与实践

UGUI源码剖析(第九章):布局的实现——LayoutGroup的算法与实践 在前一章中,我们剖析了LayoutRebuilder是如何调度布局重建的。现在,我们将深入到布局核心,去看看那些具体的组件——LayoutGroup系列组件是如…

GitHub PR 提交流程

step1 在 GitHub 上 fork 目标仓库&#xff08;手动操作&#xff09; step2 将 fork 的目标仓库克隆到本地 git clone https://github.com/<your-username>/<repo-name>.git cd <repo-name>step3 与上游目标仓库建立链接 git remote add upstream https://gi…

矿物分类案列 (一)六种方法对数据的填充

目录 矿物数据项目介绍&#xff1a; 数据问题与处理方案&#xff1a; 数据填充策略讨论&#xff1a; 模型选择与任务类型&#xff1a; 模型训练计划&#xff1a; 一.数据集填充 1.读取数据 2.把标签转化为数值 3.把异常数据转化为nan 4.数据Z标准化 5.划分训练集测试…

vue:vue3的方法torefs和方法toref

在 Vue 3 的 Composition API 中,toRef 和 toRefs 是两个用于处理响应式数据的重要工具,它们专门用于从 reactive() 对象中提取属性并保持响应性。 toRef() 作用:将 reactive 对象的单个属性转换为一个 ref 对象,保持与源属性的响应式连接。 使用场景: 需要单独提取 rea…

Android 移动端 UI 设计:前端常用设计原则总结

在 Android 移动端开发中&#xff0c;优秀的 UI 设计不仅需要视觉上的美观&#xff0c;更需要符合用户习惯、提升操作效率的设计逻辑。前端 UI 设计原则是指导开发者将功能需求转化为优质用户体验的核心准则&#xff0c;这些原则贯穿于布局结构、交互反馈、视觉呈现等各个环节。…

计算机网络 TCP三次握手、四次挥手超详细流程【报文交换、状态变化】

TCP&#xff08;传输控制协议&#xff09;是互联网最重要的协议之一&#xff0c;它保证了数据的可靠、有序传输。连接建立时的“三次握手”和连接关闭时的“四次挥手”是其核心机制&#xff0c;涉及特定的报文交换和状态变化。 一、TCP 三次握手&#xff08;Three-Way Handshak…

使用Applications Manager进行 Apache Solr 监控

Apache Solr 为一些对性能极为敏感的环境提供搜索支持&#xff1a;电子商务、企业应用、内容门户和内部知识系统。因此&#xff0c;当出现延迟增加或结果不一致的情况时&#xff0c;用户会立刻察觉。而当这些问题未被发现时&#xff0c;情况会迅速恶化。 Apache Solr 基于 Apa…

Shell脚本-for循环语法结构

一、前言在 Linux Shell 脚本编程中&#xff0c;for 循环 是最常用的控制结构之一&#xff0c;用于重复执行一段命令&#xff0c;特别适用于处理列表、文件、数字序列等场景。本文将详细介绍 Shell 脚本中 for 循环的各种语法结构&#xff0c;包括&#xff1a;✅ 经典 for in 结…

记SpringBoot3.x + Thymeleaf 项目实现(MVC架构模式)

目录 前言 一、创建SpringBoot项目 1. 创建项目 2. 运行项目 二、连接数据库实现登录 1. pom.xml文件引入依赖包 2. application.yml文件配置 3. 数据持久层&#xff0c;mybatis操作映射 4. Service接口及实现 5. Controller代码 6. Thymeleaf页面登录 7. 运行项目…

Java 导出word 实现表格内插入图表(柱状图、折线图、饼状图)--可编辑数据

表格内插入图表导出效果表格内图表生成流程分析 核心问题与解决方案 问题 Word 图表作为独立对象&#xff0c;容易与文本分离位置难以精确控制&#xff0c;编辑时容易偏移缺乏与表格数据的关联性 解决方案 直接嵌入&#xff1a;将图表嵌入表格单元格&#xff0c;确保数据关联精…

北京JAVA基础面试30天打卡12

1.MySQL中count(*)、count(I)和count(字段名)有什么区别&#xff1f; 1**.COUNT ()**是效率最高的统计方式&#xff1a;COUNT()被优化为常量&#xff0c;直接统计表的所有记录数&#xff0c;不依赖字段内容&#xff0c;开销最低。推荐在统计整个表的记录数时使用。 2.**COUNT(1…