【问题标题】:Plotting coordinates with vectors on matlab在matlab上用向量绘制坐标
【发布时间】:2015-09-02 01:22:19
【问题描述】:

我有两个向量 xy

我想将它们都绘制为坐标,例如:(x1,y1) ; (x2,y2),用一个点表示每个点。我不知道该怎么做。

我尝试使用 meshgrid 函数,但没有成功。

【问题讨论】:

  • 我认为如果你能澄清你是否想在点之间绘制线(例如(x1(1), y1(1)) ->(x2(1), y2(1))(x1(2),y1(2)) -> ((x2(2), y2(2))...)或者你想绘制两组点(在在这种情况下,您需要散点图,可能如@SulfoCyaNate 的回答中所述)
  • 我想清楚,虽然@SulfoCyaNate 可以帮助我完成,谢谢

标签: matlab plot coordinates


【解决方案1】:

如果您打算将它们绘制为从原点开始的向量,MATLAB 的 plotv 函数(与神经网络工具箱一起提供)允许您这样做。

以下应该有效:

M = [x1 x2 ; ...
     y1 y2];
plotv(M)

您可以在MATLAB plotv page 找到文档。

但是,如果您只想绘制点,则可以使用散点图。您可以使用以下内容:

X = [x1 x2];
Y = [y1 y2];
scatter(X, Y)

散点图的文档可以在MATLAB scatter page找到。

如果您打算绘制从 (x1, y1) 到 (x2, y2) 的向量,使用 MATLAB 的 quiver 函数,以下内容应该会有所帮助:

quiver(x1,y1,(x2 - x1),(y2 - y1),0)

请在this page 上找到quiver 的文档。在我讨论的示例中,0 用于关闭自动缩放。

【讨论】:

  • 请注意,plotv 是神经网络工具箱的一部分,因此它在标准 MATLAB 安装中不可用。 scatter 会起作用 =)
  • 第二件事正是我想做的,非常感谢
【解决方案2】:

您可能想在File Exchange 上查看 Paul Mennen 的 plt 包。

这包括一个辅助函数Pquiv(记录在here),它允许绘制矢量。

示例图片位于this 位置,该图的源代码可用作“演示”文件之一。

这个项目的文档非常好,虽然我仍在尝试习惯设置,但它确实有助于解决 Matlab 中的许多绘图相关问题。

作者(使用help plt 安装后提供的电子邮件地址)也可以快速回答人们提出的问题,其中一些问题也可以在 File Exchange 上的 cmets 中看到。

【讨论】:

  • 这个 quiver 没有做什么?
  • plt 的一个显着(至少对我而言)功能是threadId 面板,它允许选择/删除给定的绘图。生成的工具允许切换对数/线性图,并且一些内置的 matlab uicontrols 具有“改进”的替代方案(例如滑块,尽管就我而言,我坚持使用 Matlab 版本)。
【解决方案3】:

为什么这不起作用?

plot(x,y,'o','MarkerFaceColor','b');轴方;等一下

最好的

【讨论】:

  • 不需要MarkerFaceColor,只需plot(x,y,'bo')。此外,axis squarehold on 与这个特定问题无关。
  • 好吧,当然。但是对自己的情节有一些好的品味并没有什么坏处,不是吗? :)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-07-03
  • 2012-06-08
  • 2013-07-23
  • 1970-01-01
  • 2016-07-07
相关资源
最近更新 更多