如何在 Scilab 中扩展多点绘图的轴?
How to expand the axes of a plot with multiple points in Scilab?
我正在使用 Scilab 5.5.2。绘制多个点。这是我的脚本,试图在 2D 中绘制 4 个点:
u = [1,2;2,1;3,1;4,5;5,1]
clf; plot(u,"*r")
我试图在 2D 中绘制的点是 (1,2)、(2,1)、(3,1) 和 (5,1)。
我使用 "u" 作为向量来存储坐标。此脚本生成此图像:
我想扩展 x 轴和 y 轴以获得 "usual" 图表。我尝试这样做:
x=[0:10]
u = [1,2;2,1;3,1;4,5;5,1]
clf; plot(x,u,"*r")
但是,我收到此错误消息:
WARNING: Transposing row vector X to get compatible dimensions
!--error 10000
plot: Wrong size for input arguments #2 and #3: Incompatible dimensions.
at line 147 of function checkXYPair called by :
at line 236 of function plot called by :
clf; plot(x,u,"*r")
at line 9 of exec file called by :
exec('poole-exemple.sci')
而且,我的剧情有点奇怪。我的脚本生成了我不想要的点。如果您查看图像,您会在图上看到 (4,4) 或 (1,1) 点。我不想要这个,我也不知道为什么会这样。
有谁知道如何帮助我吗?
数据范围
您想更改数据范围,这是执行 gca
、"get current axes" 后可访问的 many axes properties 之一。像这样:
plot(u(:,1), u(:, 2), "*r" )
a = gca()
a.data_bounds = [0 0; 10 7]
data_bounds属性的格式为[xmin,ymin; xmax, ymax]。
这里有一个更好的设置方法,基于数据:
a.data_bounds = [min(u, 'r') - 1; max(u, 'r') + 1]
这将最小值设置为最小数据值 - 1,将最大值设置为最大值 + 1。
点数不正确
documentation说明plot
命令的参数为:x值向量和y值向量:分开,不在一个矩阵中。你的数据应该是
plot(u(:,1), u(:, 2), "*r" )
不是plot(u, "*r")
。
我正在使用 Scilab 5.5.2。绘制多个点。这是我的脚本,试图在 2D 中绘制 4 个点:
u = [1,2;2,1;3,1;4,5;5,1]
clf; plot(u,"*r")
我试图在 2D 中绘制的点是 (1,2)、(2,1)、(3,1) 和 (5,1)。
我使用 "u" 作为向量来存储坐标。此脚本生成此图像:
我想扩展 x 轴和 y 轴以获得 "usual" 图表。我尝试这样做:
x=[0:10]
u = [1,2;2,1;3,1;4,5;5,1]
clf; plot(x,u,"*r")
但是,我收到此错误消息:
WARNING: Transposing row vector X to get compatible dimensions
!--error 10000
plot: Wrong size for input arguments #2 and #3: Incompatible dimensions.
at line 147 of function checkXYPair called by :
at line 236 of function plot called by :
clf; plot(x,u,"*r")
at line 9 of exec file called by :
exec('poole-exemple.sci')
而且,我的剧情有点奇怪。我的脚本生成了我不想要的点。如果您查看图像,您会在图上看到 (4,4) 或 (1,1) 点。我不想要这个,我也不知道为什么会这样。
有谁知道如何帮助我吗?
数据范围
您想更改数据范围,这是执行 gca
、"get current axes" 后可访问的 many axes properties 之一。像这样:
plot(u(:,1), u(:, 2), "*r" )
a = gca()
a.data_bounds = [0 0; 10 7]
data_bounds属性的格式为[xmin,ymin; xmax, ymax]。
这里有一个更好的设置方法,基于数据:
a.data_bounds = [min(u, 'r') - 1; max(u, 'r') + 1]
这将最小值设置为最小数据值 - 1,将最大值设置为最大值 + 1。
点数不正确
documentation说明plot
命令的参数为:x值向量和y值向量:分开,不在一个矩阵中。你的数据应该是
plot(u(:,1), u(:, 2), "*r" )
不是plot(u, "*r")
。