matlab绘图plot知识汇总

一、plot() 绘图

 1、matlab提供的线条属性:

plot(X1,Y1,LineSpec,...)通过参数LineSpec指定曲线的曲线属性,它包括线型、标记符和颜色。plot函数支持同时绘制任意组图形

plot(X1,Y1,LineSpec1,X2,Y2,LineSpec2,...)

等价于:

plot(X1,Y1,LineSpec1,...)
 
hlod on
 
plot(X2,Y2,LineSpec2,...) 

线型

说明

标记符

说明

颜色

说明

-

实线(默认)

+

加号符

r

红色

--

双划线

o

空心圆

g

绿色

:

虚线

*

星号

b

蓝色

:.

点划线

.

实心圆

c

青绿色

 

 

x

叉号符

m

洋红色

 

 

s

正方形

y

黄色

 

 

d

菱形

k

黑色

 

 

^

上三角形

w

白色

 

 

v

下三角形

 

 

 

 

右三角形

 

 

 

 

左三角形

 

 

 

 

p

五角星

 

 

 

 

h

六边形

 

例程:

x=(0:pi/100:2*pi)';
y=sin(x);
y1=2*sin(x);
y2=3*sin(x);
figure;
plot(x,y,'-',x,y1,'--',x,y2,':.r');

2、绘制图形的辅助操作

(1) 图形标注

title、xlabel和ylabel函数分别用于说明图形和坐标轴的名称;

xlabel('0 leq itt rm leq pi','FontSize',16);ylabel('sin(t)','FontSize',20)

text函数是在坐标点(x,y)处添加图形说明;

legend函数用于绘制曲线所用线型、颜色或数据点标记图例,图例放置在空白处,用户还可以通过鼠标移动图例,将其放到所希望的位置。除legend函数外,其他函数同样适用于三维图形,在三维中z坐标轴说明用zlabel函数。

A.text函数:按指定位置在坐标系中写出说明文字.格 式为:text(x1, y1, '字符串', '选项')x1,y1为指定点的坐标;'字符串'为要标注的文字;'选项'决定x1,y1的 坐标单位,如没有选项,则x1,y1的坐标单位和图中一致;

如:text(1,2, '正弦曲线')

B.gtext函数:按照鼠标点按位置写出说明文字.

格式为:gtext('字符串')

当调用这个函数时,在图形窗口中出现一个随鼠标移动的大十字 交叉线,移动鼠标将十字线的交叉点移动到适当的位置,点击鼠标左键,gtext参数中的字符串就标注在该位置上.

x=(0:pi/100:2*pi)';
y=sin(x);
y1=2*sin(x);
y2=3*sin(x);
figure;
plot(x,y,'-',x,y1,'--',x,y2,':.r');
title('图形名称') 
xlabel('x轴说明')  
ylabel('y轴说明')
text(1.5,0.8,'sin(x)')
legend('图例1','图例2','…')

(2)  坐标控制

在绘制图形时,Matlab可以自动根据要绘制曲线数据的范围选择合适的坐标刻度,使得曲线能够尽可能清晰的显示出来。所以,一般情况下用户不必选择坐标轴的刻度范围。但是,如果用户对坐标不满意,可以利用axis函数对其重新设定。其调用格式为:

axis([xmin xmax ymin ymax zmin zmax])

axis函数的功能丰富,其常用的用法有:

axis equal :纵横坐标轴采用等长刻度
axis square:产生正方形坐标系(默认为矩形)
axis auto:使用默认设置
axis off:取消坐标轴
axis on :显示坐标轴

grid on/off; %加格网
grid box; %加边框

(3)  图形保持

hold on/off

(4)图形窗口分割

subplot(m,n,p)

m,n 分别表示将窗口分割的行数和列数,p表示要画图部分的代号,表示第几个图 形;mnp三个数可以连写,中间不用符号分开.

(5)绘图属性

  • 线的宽度(LineWidth);
  • 标记点的边缘颜色(MarkerEdgeColor);
  • 填充颜色 (MarkerFaceColor);
  • 标记点的大小(MarkerSize)等其它绘图属性
t=0:pi/20:pi;
y=sin(4*t).*sin(t)/2;
figure;
plot(t,y,'-bs','LineWidth',2,... %设置线的宽度为2
'MarkerEdgeColor','k',... %设置标记点边缘颜色为黑色
'MarkerFaceColor','y',... %设置标记点填充颜色为黄色
'MarkerSize',10) %设置标记点的尺寸为10

画图:

3、图形句柄:

%% 图形对象及其句柄
x1=linspace(0,2*pi,30);%首尾为0和2*pi,中间有30个数
y1=sin(x1);
h0=plot(x1,y1,'r'); %曲线对象的句柄
h1=gcf;%图形对象的句柄
h2=gca;%坐标轴句柄
h3=findobj(gca,'Marker','x');%坐标轴上曲线的句柄,Marker表示标记点的形状

 注意:h0 h1 h2句柄的输出:

h0为曲线对象的句柄:

h0 =

  Line - 属性:

              Color: [1 0 0]
          LineStyle: '-'
          LineWidth: 0.5000
             Marker: 'none'
         MarkerSize: 6
    MarkerFaceColor: 'none'
              XData: [1×30 double]
              YData: [1×30 double]
              ZData: [1×0 double]

h1为图形对象的句柄;

h1 =

  Figure (3) - 属性:

      Number: 3
        Name: ''
       Color: [0.9400 0.9400 0.9400]
    Position: [488 342 560 420]
       Units: 'pixels'

h2为坐标轴句柄;

h2 =

  Axes - 属性:

             XLim: [0 7]
             YLim: [-1 1]
           XScale: 'linear'
           YScale: 'linear'
    GridLineStyle: '-'
         Position: [0.1300 0.1100 0.7750 0.8150]
            Units: 'normalized'

(1) set函数 :用于设置句柄所指的图形对象的属性.

Set函数的格式为:

set(句柄, 属性名1, 属性值1, 属性名2, 属性值2, ……)  % 曲线对象的句柄、图形对象的句柄、坐标轴句柄

例:h=plot(x,y)

set(h, 'Color', [1,0,0])------将句柄所指曲线的颜色设为红色.

(2) get函数 : 获取指定句柄的图形对象指定属性的当前值.

格 式为:get(句柄, '属性名')

如: get(gca, 'Xcolor')------获得X轴的当前颜色属性值.

执行后可返 回X轴的当前颜色属性值[0,0,0](黑色).

(3) 如果没有设置句柄,则可以使用下列函数获得:

gcf:获得当前图形窗 口的句柄;

gca:获得当前坐标轴对象的句柄;

gco:获得当前对象的句柄.

参考链接:

matlab常用的设置,坐标系、线条颜色、线型,字体、属性

MATLAB图形句柄

Matlab中巧用LaTex

Matlab绘图-很详细,很全面

二、demo

x=0:0.2:12
y1=sin(x);
y2=cos(x);
y3=tan(x);
figure(1)
h=plot(x,y1,x,y2,x,y3);
set(h,'LineWidth',2,{'LineStyle'},{'--';':';'-.'})
set(h,{'Color'},{'r';'g';'b'})
axis([0 12 -1 1])
grid on
xlabel('Time')
ylabel('Amplitude')
legend(h,'First','Second','Third')
title('Math Functions')

运行结果:

画图标记出特殊点:

  1. 利用text(x(p),y(p),'o','color','g'));这里o表示标注的形状,也可以用*、^等比较好看的符号哟。'g'表示的是颜色。
  2. text(x(p),y(p),['(',num2str(x(p)),',',num2str(y(p)),')'],'color','b');标注坐标的值,很方便。

参考:MATLAB画图如何标记特殊点

 

2、loglog() 绘图

loglog(x,y)    x 轴和y 轴均为对数刻度Logarithmic Scale)
semilogx(x,y)  x 轴为对数刻度,y 轴为线性刻度
semilogy(x,y)  x 轴为线性刻度,y 轴为对数刻度

示例代码:

x=logspace(-1,2);
y=exp(x);
loglog(x,y,'-s')
% semilogx(x,y)  
grid on %标注格栅

结果:

logspace()

首先书上给的定义是logscape函数是用来创建指数等差数列,语法描述如下

  • logspace(x1,x2)——在从10^x1到10^x2区间内生成含有50个元素的等差数列
  • logspace(x1,x2,n)——在从10^x1到10^x2区间内生成含有n个元素的等差数列;

即:以对数刻度的形式产生等差序列,输出的数字为10^n

3、semilogx/semilogy

主要是学习semilogx函数:

其中常用的是semilogy函数,即后标为x的是在x轴取对数,为y的是y轴坐标取对数loglog是x y轴都取对数

例子,

clc;clear;close all;
x = 0:.1:10;
y = 2*x+3;
subplot(311);
plot(x,y);
grid on
subplot(312);
semilogy(x,y);grid on

grid on
subplot(313);
semilogx(x,y);grid on

4、matlab绘图汇总

—————————复习各种matlab图形函数————————————

1.绘制二维曲线的最基本函数plot
2.双纵坐标函数plotyy
3.坐标控制
函数的调用格式为:
axis([xmin xmax ymin ymax zmin zmax])
axis函数功能丰富,常用的用法还有:
axis equal    纵、横坐标轴采用等长刻度
axis square   产生正方形坐标系(缺省为矩形)
axis auto     使用缺省设置
axis off      取消坐标轴
axis on      显示坐标轴
grid on/off命令控制是画还是不画网格线,不带参数的grid命令在两种状态之间进行切换。
box on/off命令控制是加还是不加边框线,不带参数的box命令在两种状态之间进行切换。
4.图形窗口的分割
    subplot函数的调用格式为:
    subplot(m,n,p)
5.绘制二维图形的其他函数
其他形式的线性直角坐标图
在线性直角坐标系中,其他形式的图形有条形图、阶梯图、杆图和填充图等,所采用的函数分别是:
bar(x,y,选项)
stairs(x,y,选项)
stem(x,y,选项)
fill(x1,y1,选项1,x2,y2,选项2,…)
6.极坐标图
polar函数用来绘制极坐标图,其调用格式为:
polar(theta,rho,选项)
其中theta为极坐标极角,rho为极坐标矢径,选项的内容与plot函数相似。
7.对数坐标图形
    MATLAB提供了绘制对数和半对数坐标曲线的函数,调用格式为:
    semilogx(x1,y1,选项1,x2,y2,选项2,…)
    semilogy(x1,y1,选项1,x2,y2,选项2,…)
    loglog(x1,y1,选项1,x2,y2,选项2,…)
8.对函数自适应采样的绘图函数
fplot函数的调用格式为:  
fplot(fname,lims,tol,选项)
9.绘制三维曲线的最基本函数
    plot3函数与plot函数用法十分相似,其调用格式为:
    plot3(x1,y1,z1,选项1,x2,y2,z2,选项2,…,xn,yn,zn,选项n)
10.三维曲面
1.平面网格坐标矩阵的生成
(1)利用矩阵运算生成。
x=a:dx:b; y=(c:dy:d)';
X=ones(size(y))*x;
Y=y*ones(size(x));
(2)利用meshgrid函数生成。
x=a:dx:b; y=c:dy:d;
[X,Y]=meshgrid(x,y);
10.绘制三维曲面的函数
    surf函数和mesh函数的调用格式为:
    mesh(x,y,z,c)
    surf(x,y,z,c)
标准三维曲面
sphere函数的调用格式为:
    [x,y,z]=sphere(n)
cylinder函数的调用格式为:
    [x,y,z]=sphere(R,n)
MATLAB还有一个peaks 函数,称为多峰函数,常用于三维曲面的演示。

11.其他三维图形
   条形图、饼图和填充图等特殊图形,它们还可以以三维形式出现,使用的函数分别是bar3、pie3和fill3。此外,还有三维曲面的等高线图。等高线图分二维和三维两种形式,分别使用函数contour和contour3绘制。

 

参考链接:

https://www.cnblogs.com/sddai/category/816739.html

https://www.cnblogs.com/sddai/p/5467500.html

MATLAB 设置坐标名称,坐标刻度,坐标刻度名称,坐标点显示

 

 

 

 

 

 

 

 

<think>好的,我需要帮助用户了解如何在MATLAB中使用PLOT函数设置线条颜色。首先,我应该回顾一下用户提供的引用内容,确保回答准确。引用1、2、3都提到了颜色选项的使用方法,特别是引用3提到了具体的代码示例,比如使用'Color'参数和RGB值。引用4则更广泛地介绍了plot函数的用法,但可能也包含颜色设置的信息。 用户的问题集中在设置线条颜色上,所以我需要分步骤解释不同的方法。根据引用中的信息,MATLAB中设置颜色的方法主要有两种:使用预定义的颜色字符(如'r'代表红色)和指定RGB三元组。此外,可能还有其他相关的方法或注意事项需要提及,比如线型和颜色的组合使用。 我需要确保回答结构清晰,逐步说明每种方法,并给出具体的代码示例。同时,需要检查LaTeX格式是否正确,行内公式用$...$,独立公式用$$...$$。不过在这个问题中可能涉及数学公式较少,但如果有的话需要正确应用。 然后,根据系统指令,需要生成相关问题。这些问题应该与用户的问题相关,比如其他样式设置、线型设置、保存自定义颜色等。需要确保问题有针对性,帮助用户进一步探索。 最后,要确认引用标识是否正确添加,每个引用来源的末尾自然地加上[^1]、[^2]等。同时,检查是否有遗漏的信息或可能的错误,比如不同版本的MATLAB是否有差异,但如果没有提到版本问题,可能可以忽略,或者简单提及一般适用性。 现在整理回答的结构: 1. 使用预定义颜色字符:举例说明不同字符对应的颜色,如'r'、'g'等,并给出示例代码。 2. 使用RGB三元组:说明如何通过数组指定颜色,如[1 0 0]表示红色,并给出示例。 3. 组合线型和颜色:展示如何同时设置颜色和线型,如'ro-'表示红色圆圈实线。 4. 注意事项:比如RGB值的范围、颜色字符的大小写是否敏感等。 5. 相关问题:生成三个相关问题,如设置线型、自定义颜色保存、多曲线不同颜色绘制。 需要确保每个部分都参考了正确的引用,比如引用1和3提到颜色选项,引用3提到RGB的具体用法。同时,代码示例要正确,使用正确的MATLAB语法。 可能需要注意,预定义颜色字符在MATLAB中是区分大小写的吗?例如,'b'是蓝色,'B'是否存在?根据经验,通常是小写,但需要确认引用是否有说明。不过用户提供的引用中没有明确提到这点,可能可以默认小写,或者不提,避免错误。 另外,关于RGB值的范围,引用3中的示例用了[R G B],但没有说明范围。通常MATLAB中RGB是0到1之间的值,或者0到255?根据MATLAB文档,应该是0到1,但用户提供的引用没有说明,所以可能需要指出这点,但若引用中没有提到,可能需要依赖常识回答。不过用户提供的引用3中的例子可能使用的是0-1范围,比如[1 0 0]是红色,所以可以推测是0到1。 总结,回答应分步骤,结合引用,给出示例代码,并正确添加引用标识。最后生成相关问题。</think>在MATLAB中,使用$plot$函数设置线条颜色有以下几种方法: --- ### 1. **预定义颜色字符** 通过单引号指定颜色缩写符,直接附加在$plot$函数的参数中: - `r`:红色 - `g`:绿色 - `b`:蓝色 - `c`:青色 - `m`:品红 - `y`:黄色 - `k`:黑色 - `w`:白色 **示例代码**: ```matlab x = 0:0.1:2*pi; y = sin(x); plot(x, y, 'r'); % 绘制红色线条[^1][^3] ``` --- ### 2. **RGB三元组自定义颜色** 通过`'Color'`参数指定RGB值(范围$[0,1]$),格式为$[R, G, B]$: - 红色:$[1, 0, 0]$ - 深绿色:$[0, 0.5, 0]$ - 自定义颜色:如$[0.2, 0.7, 0.3]$ **示例代码**: ```matlab plot(x, y, 'Color', [0.5, 0, 0.8]); % 绘制紫色线条[^3] ``` --- ### 3. **组合颜色与线型/符号** 颜色字符可与线型(如`-`、`--`)或标记符号(如`o`、`*`)组合使用: - `'ro-'`:红色实线 + 圆圈标记 - `'g--'`:绿色虚线 **示例代码**: ```matlab plot(x, y, 'm:*'); % 品红色点线 + 星号标记[^3] ``` --- ### 4. **注意事项** - RGB值需在$[0,1]$范围内,超出范围可能导致错误或截断。 - 颜色字符需为小写字母(如`k`表示黑色,`K`无效)[^1]。 ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值