我有一些x和y坐标,想要将它们绘制成线段。然而,我遇到了一些预期之外的问题。
对于每个线段,都有一个起始坐标 (x1,y1) 和一个结束坐标 (x2,y2)。这是一个数据框 (叫做 'df'),看起来像这样:
我得到了以下结果,这根本不是我想要的。有额外的线条被绘制出来并且它们都连接在一起。这是错误的。它看起来在从6个起始/结束点集中绘制11或12个线段。
现在,我可以一次一个地进行步进并绘制它们:
我得到了下面的图表,这正是我想要的。 那么,有人能解释一下第一个示例与第二个示例之间的不同之处吗?是否有一种方法可以在一行内完成所有操作,而无需逐步进行或编写循环函数?
对于每个线段,都有一个起始坐标 (x1,y1) 和一个结束坐标 (x2,y2)。这是一个数据框 (叫做 'df'),看起来像这样:
x1 y1 x2 y2
34.9 67.9 62.5 68.8
66.8 80.9 58.8 88.4
58.8 88.4 66.0 68.4
64.0 65.8 56.2 62.6
56.2 62.6 56.6 75.3
54.5 70.0 72.9 51.3
这些片段不一定是连续的。我的意思是有时一个片段的结束点(x,y)是下一个片段的起始点;而有时则不是。
因此,我尝试将它们绘制出来。
lines(c(df$x1, df$x2), c(df$y1, df$y2))
我得到了以下结果,这根本不是我想要的。有额外的线条被绘制出来并且它们都连接在一起。这是错误的。它看起来在从6个起始/结束点集中绘制11或12个线段。
现在,我可以一次一个地进行步进并绘制它们:
lines(c(df$x1[1], df$x2[1]), c(df$y1[1], df$y2[1]))
lines(c(df$x1[2], df$x2[2]), c(df$y1[2], df$y2[2]))
lines(c(df$x1[3], df$x2[3]), c(df$y1[3], df$y2[3]))
Etc.
我得到了下面的图表,这正是我想要的。 那么,有人能解释一下第一个示例与第二个示例之间的不同之处吗?是否有一种方法可以在一行内完成所有操作,而无需逐步进行或编写循环函数?