如何在 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")