⋮
2026b

# fplot


绘制表达式或函数

函数库: TyPlot

# 语法

fplot(f)
fplot(f,xinterval)
fplot(funx,funy)
fplot(funx,funy,tinterval)
fplot(___,Fmt)
fplot(___,Key=Value)
fplot(ax,___)
fp = fplot(___)

# 说明

fplot(f) 在默认区间 [-5 5](对于x)绘制由函数 y=f(x) 定义的曲线。示例


fplot(f,xinterval) 将在指定区间绘图。将区间指定为 [xminxmax] 形式的二元素向量。示例


fplot(funx,funy) 在默认区间 [-5 5](对于t)绘制由 x=funx(t) 和 y=funy(t) 定义的曲线。示例


fplot(funx,funy,tinterval) 将在指定区间绘图。将区间指定为 [tmin tmax] 形式的二元素向量。


fplot(___,Fmt) 指定线型、标记符号和线条颜色。例如,"-r" 绘制一根红色线条。在前面语法中的任何输入参数组合后使用此选项。


fplot(___,Key=Value) 使用一个或多个名称-值对组参数指定线条属性。例如,linewidth=2指定2磅的线宽。示例


fplot(ax,___) 将图形绘制到 ax 指定的坐标区中,而不是当前坐标区 (gca) 中。指定坐标区作为第一个输入参数。


fp=fplot(___) 返回 Line2D 对象。使用 fp 查询和修改特定线条的属性。有关属性列表,请参见 line 属性。示例

# 示例

绘制表达式

在 x 的默认区间 [-5 5] 绘制 sin(x)。

using TyPlot
f = (x)->sin(x)
fplot(f)
绘制参数曲线

绘制参数化曲线 和 。

using TyPlot
xt = t->cos(3*t)
yt = t->sin(2*t)
fplot(xt, yt)
指定绘图区间并绘制分段函数

绘制分段函数。

使用 hold("on") 绘制多个线条。使用 fplot 的第二个输入参数指定绘图区间。使用 "b" 将绘制的线条颜色指定为蓝色。在相同坐标区中绘制多个线条时,坐标轴范围会调整以容纳所有数据。

using TyPlot
fplot(x->exp(x),[-3 0], "b")
hold("on")
fplot(x->cos(x),[0 3], "b")
hold("off")
grid("on")
指定线条属性并显示标记

绘制具有不同相位的三个正弦波。对于第一个,使用 2 磅的线宽。对于第二个,指定带有圆形标记的红色虚线线型。对于第三个,指定带有星号标记的青蓝色点划线线型。

using TyPlot
fplot(x->sin(x + pi/5), linewidth = 2)
hold("on")
fplot(x->sin(x - pi/5), [-5, 5], "--or", markevery=10)
fplot(x->sin(x), [-5, 5], "-.*c", markevery=10)
hold("off")
创建后修改线条属性

绘制 sin(x) 并将函数行对象指定给变量。

using TyPlot
fp, = fplot(x->sin(x))

通过使用圆点表示法设置属性,将线条更改为红色点线。添加交叉标记,并将标记颜色设置为蓝色。

fp.set_linestyle(":")
fp.set_color("r")
fp.set_marker("x")
fp.set_markeredgecolor("b")
fp.set_markevery(10)
plt_update()
在相同坐标区中绘制多个线条

使用 hold("on") 绘制两个线条。

using TyPlot
fplot(x->sin(x))
hold("on")
fplot(x->cos(x))
hold("off")
添加标题和轴标签以及格式化刻度

使用函数句柄从 −2π 到 2π 绘制 sin(x)。网格线的显示方式。然后添加一个标题,并为 x 轴和 y 轴添加标签。

using TyPlot
fplot(sin, [-2*pi 2*pi])
grid("on")
title(raw"sin(x) from -2$\pi$ to 2$\pi$")
xlabel("x");
ylabel("y");

使用 gca 访问当前坐标区对象。沿 x 轴以 π/2 为间隔显示刻度线。通过设置坐标区对象的 XTick 和 XTickLabel 属性,格式化 x 轴刻度值。y 轴存在类似属性。

ax = gca();
xticks(ax, -2*pi:pi/2:2*pi);
xticklabels(ax, [raw"-2$\pi$",raw"-3$\pi$/2",raw"-$\pi$",raw"-$\pi$/2","0",raw"$\pi$/2",raw"$\pi$",raw"3$\pi$/2",raw"2$\pi$"]);

# 输入参数

f - 要绘制的函数
函数句柄

要绘制的函数,指定为命名或匿名函数的函数句柄。

指定 y = f(x) 形式的函数。

xinterval - x 的区间
[–5 5] (默认) | [xmin xmax] 形式的二元素向量

x 的区间,指定为 [xmin xmax] 形式的二元素向量。

funx - x 坐标的参数化函数
函数句柄

x 坐标的参数化函数,指定为命名或匿名函数的函数句柄。

指定 x = funx(t) 形式的函数。

示例: f = (x)->sin(x)

funy - y 坐标的参数化函数
函数句柄

y 坐标的参数化函数,指定为命名或匿名函数的函数句柄。

指定 y = funy(t) 形式的函数。

示例: funy = t->sin(2*t)

tinterval - t 的区间
[-5 5] (默认) | [tmin tmax] 形式的二元素向量

t 的区间,指定为 [tmin tmax] 形式的二元素向量。

fmt - 线型、颜色和标记

线型、颜色和标记,指定为包含符号的字符串。符号可以按任意顺序显示。您不需要同时指定所有三个特征(线型、颜色和标记)。例如,如果忽略线型,只指定标记,则绘图只显示标记,不显示线条。

示例: "--ro" 是带有圆形标记的红色虚线

线型 说明 表示的线条
"-" 实线
"--" 虚线
":" 点线
"-." 点划线
"none" 无线条 无线条
标记 符号 说明
"." point
"," pixel
"o" circle
"v" triangle_down
"^" triangle_up
"<" triangle_left
">" triangle_right
"1" tri_down
"2" tri_up
"3" tri_left
"4" tri_right
"8" octagon
"s" square
"p" pentagon
"P" plus (filled)
"*" star
"h" hexagon1
"H" hexagon2
"+" plus
"x" x
"X" x (filled)
"D" diamond
"d" thin_diamond
"|" vline
"_" hline
"none" 无标记 none
ax - 坐标区对象
坐标区对象

坐标区对象。如果您不指定坐标区对象,则 fplot 使用当前坐标区 (gca)。

# 名称-值对组参数

指定可选的、以逗号分隔的 Key=Value 对组参数。Key 为参数名称,Value 为对应的值。您可采用任意顺序指定多个名称-值对组参数,如 Key1=Value1,...,KeyN=ValueN 所示。

示例: marker="o", markeredgecolor = "r"

此处列出的图形线条属性只是一个子集。详细信息,请参见 line 属性。

label - 图例
nothing(默认) | 字符串 | 数值

label图例,默认 nothing,使用默认数据 data1 标记图形对象。如果设置了图例则以图例内容标记图形对象。

color - 线条颜色
[0, 0.4470, 0.7410] (默认) | RGB 三元组 | 十六进制颜色代码 | "r" | "g" | "b" | ...

线条颜色,指定为 RGB 三元组、十六进制颜色代码、颜色名称或短名称。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4, 0.6, 0.7];
  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。 这些值不区分大小写。因此,颜色代码 "#FF8800" 与 "#ff8800"、"#F80" 与 "#f80" 是等效的。
颜色名称 短名称 RGB 三元组 十六进制颜色代码 外观
"red" "r" [1, 0, 0] "#FF0000"
"green" 不适用 [0, 0.5019607843137255, 0] "#008000"
不适用 "g" [0, 0.5, 0] "#007F00"
不适用 不适用 [0, 1, 0] "#00FF00"
"blue" "b" [0, 0, 1] "#0000FF"
"cyan" 不适用 [0, 1, 1] "#00FFFF"
不适用 "c" [0, 0.75, 0.75] "#00BFBF"
"magenta" 不适用 [1, 0, 1] "#FF00FF"
不适用 "m" [0.75, 0, 0.75] "#BF00BF"
"yellow" 不适用 [1, 1, 0] "#FFFF00"
不适用 "y" [0.75, 0.75, 0] "#BFBF00"
"black" "k" [0, 0, 0] "#000000"
"white" "w" [1, 1, 1] "#FFFFFF"
"none" 不适用 不适用 不适用 无颜色

以下是 Syslab 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组 十六进制颜色代码 外观
[0, 0.4470, 0.7410] "#0072BD"
[0.8500, 0.3250, 0.0980] "#D95319"
[0.9290, 0.6940, 0.1250] "#EDB120"
[0.4940, 0.1840, 0.5560] "#7E2F8E"
[0.4660, 0.6740, 0.1880] "#77AC30"
[0.3010, 0.7450, 0.9330] "#4DBEEE"
[0.6350, 0.0780, 0.1840] "#A2142F"

示例: "blue"

示例: [0, 0, 1]

示例: "#0000FF"

linestyle - 线型
"-" (默认) | "--" | ":" | "-." | "none"

线型,指定为下表中列出的选项之一。

线型 说明 表示的线条
"-" 实线
"--" 虚线
":" 点线
"-." 点划线
"none" 无线条 无线条
linewidth - 线宽
1.5 (默认) | 正值

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

线宽不能小于像素的宽度。如果将线宽设置为小于系统上像素宽度的值,则线条显示为一个像素的宽度。

marker - 标记符号
"none" (默认) | "o" | "+" | "*" | "." | "x" | ...

标记符号,指定为下表中的标记之一。默认情况下,图形线条没有标记。通过指定标记符号沿该线条上的每个数据点添加标记。

marker symbol description
"." point
"," pixel
"o" circle
"v" triangle_down
"^" triangle_up
"<" triangle_left
">" triangle_right
"1" tri_down
"2" tri_up
"3" tri_left
"4" tri_right
"8" octagon
"s" square
"p" pentagon
"P" plus (filled)
"*" star
"h" hexagon1
"H" hexagon2
"+" plus
"x" x
"X" x (filled)
"D" diamond
"d" thin_diamond
"|" vline
"_" hline
"none" 无标记 none
markevery - 要显示标记的数据点的索引
nothing(默认) | 正整数向量 | 正整数标量

要显示标记的数据点的索引,指定为正整数向量。

  • markevery = nothing,每个点都绘制标记;
  • markevery = N,从标记 0 开始,每N个点绘制一个标记;
  • markevery = (start,N),从开始点开始(包括开始点),每N个点绘制一个标记;
  • markevery = start:N:end,从开始点开始(包括开始点),到结束点结束(不包括结束点),每N个点绘制一个标记;
  • markevery = [i, j, m, n],只绘制i、j、m 和 n 处的标记;
  • markevery = [true, false, true],只绘制为 true 的位置的标记,标记数要与true和false的总数等价。

注意

要查看标记,还必须指定标记符号。

示例: fplot(x,y,"-o",markevery = [1, 5, 10]) 在第一、第五和第十个数据点处显示圆形标记。

示例: fplot(x,y,"-x",markevery = 1:3:length(y)) 每三个数据点显示一个交叉标记。

示例: fplot(x,y, marker = "s",markevery = 5) 每五个数据点显示一个正方形标记。

markeredgecolor - 标记轮廓颜色
"auto" (默认) | RGB 三元组 | 十六进制颜色代码 | "r" | "g" | "b" |

标记轮廓颜色,指定为 "auto"、RGB 三元组、十六进制颜色代码、颜色名称或短名称。 默认值 "auto" 使用与 Color 属性相同的颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4, 0.6, 0.7];
  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。 这些值不区分大小写。因此,颜色代码 "#FF8800" 与 "#ff8800"、"#F80" 与 "#f80" 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称 短名称 RGB 三元组 十六进制颜色代码 外观
"red" "r" [1, 0, 0] "#FF0000"
"green" 不适用 [0, 0.5019607843137255, 0] "#008000"
不适用 "g" [0, 0.5, 0] "#007F00"
不适用 不适用 [0, 1, 0] "#00FF00"
"blue" "b" [0, 0, 1] "#0000FF"
"cyan" 不适用 [0, 1, 1] "#00FFFF"
不适用 "c" [0, 0.75, 0.75] "#00BFBF"
"magenta" 不适用 [1, 0, 1] "#FF00FF"
不适用 "m" [0.75, 0, 0.75] "#BF00BF"
"yellow" 不适用 [1, 1, 0] "#FFFF00"
不适用 "y" [0.75, 0.75, 0] "#BFBF00"
"black" "k" [0, 0, 0] "#000000"
"white" "w" [1, 1, 1] "#FFFFFF"
"none" 不适用 不适用 不适用 无颜色

以下是 Syslab 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组 十六进制颜色代码 外观
[0, 0.4470, 0.7410] "#0072BD"
[0.8500, 0.3250, 0.0980] "#D95319"
[0.9290, 0.6940, 0.1250] "#EDB120"
[0.4940, 0.1840, 0.5560] "#7E2F8E"
[0.4660, 0.6740, 0.1880] "#77AC30"
[0.3010, 0.7450, 0.9330] "#4DBEEE"
[0.6350, 0.0780, 0.1840] "#A2142F"
markerfacecolor - 标记填充颜色
"none" (默认) | RGB 三元组 | 十六进制颜色代码 | "r" | "g" | "b" |

标记填充颜色,指定为 "auto"、RGB 三元组、十六进制颜色代码、颜色名称或短名称。默认值 "none" 表示没有填充颜色。

对于自定义颜色,请指定 RGB 三元组或十六进制颜色代码。

  • RGB 三元组是包含三个元素的行向量,其元素分别指定颜色中红、绿、蓝分量的强度。强度值必须位于 [0,1] 范围内,例如 [0.4, 0.6, 0.7];
  • 十六进制颜色代码是字符向量或字符串标量,以井号 (#) 开头,后跟三个或六个十六进制数字,范围可以是 0 到 F。 这些值不区分大小写。因此,颜色代码 "#FF8800" 与 "#ff8800"、"#F80" 与 "#f80" 是等效的。

此外,还可以按名称指定一些常见的颜色。下表列出了命名颜色选项、等效 RGB 三元组和十六进制颜色代码。

颜色名称 短名称 RGB 三元组 十六进制颜色代码 外观
"red" "r" [1, 0, 0] "#FF0000"
"green" 不适用 [0, 0.5019607843137255, 0] "#008000"
不适用 "g" [0, 0.5, 0] "#007F00"
不适用 不适用 [0, 1, 0] "#00FF00"
"blue" "b" [0, 0, 1] "#0000FF"
"cyan" 不适用 [0, 1, 1] "#00FFFF"
不适用 "c" [0, 0.75, 0.75] "#00BFBF"
"magenta" 不适用 [1, 0, 1] "#FF00FF"
不适用 "m" [0.75, 0, 0.75] "#BF00BF"
"yellow" 不适用 [1, 1, 0] "#FFFF00"
不适用 "y" [0.75, 0.75, 0] "#BFBF00"
"black" "k" [0, 0, 0] "#000000"
"white" "w" [1, 1, 1] "#FFFFFF"
"none" 不适用 不适用 不适用 无颜色

以下是 Syslab 在许多类型的绘图中使用的默认颜色的 RGB 三元组和十六进制颜色代码。

RGB 三元组 十六进制颜色代码 外观
[0, 0.4470, 0.7410] "#0072BD"
[0.8500, 0.3250, 0.0980] "#D95319"
[0.9290, 0.6940, 0.1250] "#EDB120"
[0.4940, 0.1840, 0.5560] "#7E2F8E"
[0.4660, 0.6740, 0.1880] "#77AC30"
[0.3010, 0.7450, 0.9330] "#4DBEEE"
[0.6350, 0.0780, 0.1840] "#A2142F"
markersize - 标记大小
6 (默认) | 正值

标记大小,指定为以磅为单位的正值,其中 1 磅 = 1/72 英寸。

# 输出参数

fp - 一个或多个图形线条对象
标量 | 向量

一个或多个图形线条对象,以标量或向量的形式返回。这些是唯一标识符,可以用来查询和修改特定图形线条的属性。详细信息,请参见 line 属性。

示例: 使用 plt_get 函数获取线条属性:

  • plt_get(fp,"linewidth") 获取图形线条对象的线宽;

  • plt_get(fp,"color") 获取图形线条对象的颜色。

示例: 使用 plt_set 函数设置线条属性:

  • plt_set(fp,"linewidth",3) 设置图形线条对象的线宽;

  • plt_set(fp,"color","r") 设置图形线条对象的颜色。

# 另请参阅

# 函数

hold | fplot3 | title | fimplicit

# 属性

line 属性