【发布时间】:2014-07-02 11:41:57
【问题描述】:
我正在尝试使用特定的误差线对散点图进行编程。我发现的唯一内置函数是
errorbar()
但这只能让我在 y 方向上制作带有误差线的 2d 图。我要求的是一种在 x 和 y 方向上使用误差线绘制此图的方法。
最后,我的目标是制作一个带有 3 个误差线的 3D 散点图。
如果生成的图像是一个具有 3d 几何形状(坐标 x、y、z 与误差条成比例的尺寸扩展)作为“标记”的 3d 图,那将是完美的。
我在网上搜索时发现了这个页面:http://code.izzid.com/2007/08/19/How-to-make-a-3D-plot-with-errorbars-in-matlab.html
但不幸的是,他们只使用一个错误栏。
我的数据由 6 个数组组成,每个数组包含 x、y 或 z 坐标或我想显示为误差条的特定标准推导。
【问题讨论】:
-
我建议你比较一下FEX提交HERRORBAR和
errorbar里面的代码。HERRORBAR好像是直接从errorbar改编而来的,如果你看一下变化,你可能会学习如何适应第三维度。 -
打算这样做。对于我最好的情况,您知道如何为 3d 对象制作标记吗?
-
如果您仔细查看 plot3d_errorbars,它会从 [x,y,z+e] 到 [x,y,z-e] 绘制一条线。您必须将其扩展到所有三个维度。
-
您已经发布了一个链接,向您展示了如何做到这一点,您只需要调整该代码以使其也适用于其他两个方向。事实上,您发布的代码比
errorbar简单得多,我认为您应该尝试修改它,然后在遇到困难时发布在这里。 -
我知道如何解决这个问题,但我不确定它是否可行,如果可行,我应该如何编程。在我的想法中,我不能绘制一个错误栏(x,y,e_y)然后将图形转换回数据点并更改坐标。这样我就可以绘制错误栏(y_new,x,ex)?为此,我必须知道 matlab 如何保存/计算 errorbar() 函数,以及是否可以将其更改回数据矩阵。我认为这可以与手柄一起使用。非常感谢任何提示、cmets、想法或它不应该起作用的原因。
标签: matlab 3d 2d scatter-plot