Matlab 如何在Scilab中展开具有多个点的绘图轴?

Matlab 如何在Scilab中展开具有多个点的绘图轴?,matlab,plot,point,scilab,Matlab,Plot,Point,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轴,以得到一个“普通”图。我试着这样做: x=[0:10] u = [1,2;2,1;3,1;4,5;5,1] clf; plot(x,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轴,以得到一个“普通”图。我试着这样做:

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)点。我不想这样,也不知道为什么会这样

有人知道如何帮助我吗?

Data bounds 您希望更改数据边界,这是执行“获取当前轴”后可访问的数据边界之一。像这样:

plot(u(:,1), u(:, 2), "*r" )
a = gca()
a.data_bounds = [0 0; 10 7]
数据边界属性的格式为[xmin,ymin;xmax,ymax]

根据数据,这里有一个更好的设置方法:

a.data_bounds = [min(u, 'r') - 1; max(u, 'r') + 1]
这将最小绑定设置为最小数据值-1,最大绑定设置为最大值+1

错误的观点 说明了
plot
命令的参数是:x值向量和y值向量:分别,而不是在一个矩阵中。你的数据应该是

plot(u(:,1), u(:, 2), "*r" )

绘图(u,“*r”)

谢谢@Gerry。然而,一个问题不断发生。当我使用你的命令绘图时,我仍然得到像(3,3)这样的点。u=[1,2;2,1;3,1;4,5;5,1]中没有(3,3)。我怎样才能解决这个问题?这不是我的事。你把clf的旧数据清理掉了吗?是的,问题就是。。。你认为在我的脚本中加入clf是个好主意吗?比如在plot()命令之前的那一行?这是一个好的做法吗?是的,人们通常把它放在剧本的开头,以删除旧情节。