连接散点图的点并创建一条线

时间:2010-02-16 16:57:23

标签: maple

如何在绘图后连接散点图的点,并从虚线图中划线?

4 个答案:

答案 0 :(得分:5)

我猜你从xy坐标生成了一个散点图,

plot(x,y,'.');

加入

plot(x,y,'.');
hold on;
plot(x,y,'-');

或在一个命令中

plot(x,y,'.-');

这是你想要的吗?

答案 1 :(得分:3)

如果您将现有的绘图作为散点图,则不能简单地加入点而不知道哪些点与哪些点连接。

如果你知道点的顺序/连通性,那么你可以简单地使用绘图功能来做到这一点。电话

plot(x,y,'-')

将点与直线段连接。如果您希望在沿线的每个点使用标记符号,则可以添加绘图允许的其中一个标记,如下所示:

plot(x,y,'o-')

您可以从

获取允许的标记列表
help plot

如果您在一组点上使用了散射,现在希望覆盖连接点的线,则使用hold函数强制matlab在散点图上绘制。例如,

scatter(x,y)
hold on
plot(x,y,'-')
hold off

同样,任何这些变化都需要您了解点之间的连接。有些方案有时可以从孤立点列表中恢复连接。其中一种方法称为CRUST,通常用于三维表面重建。我通过简单搜索“crust algorithm”找到了许多参考文献。

答案 2 :(得分:1)

如果你有一个散点图(用我怀疑的散射函数制作)并且出于某种原因不想用绘图重绘它,这里就是你可以做的连接点:

h = findobj(gca,'type','hggroup');
hold on
for k=1:numel(h)
    x = get(h(k),'xdata');
    y = get(h(k),'ydata');
    plot(x,y,'-')
end
hold off

点将按原始顺序连接。如果需要,可以在绘图之前对数据进行排序,例如通过x:

[x,ind] = sort(x);
y = y(ind);

答案 3 :(得分:1)

要回答如何在Maple中执行此操作的问题,您只需使用PointPlot包中的Statistics命令,并将=IIf(Globals!RenderFormat.IsInteractive=false, Fields!Link.Value, "javascript:void(window.open('" & Fields!Link.Value & "','_blank'))") 选项设置为styleline。例如:

pointline

指定选项Statistics:-PointPlot([2, 4, 6, 4], xcoords=[1, 2, 3, 4], style=pointline); = style会显示点和连接线; pointline = style只显示该行。