我想绘制几个点列表,每个列表都有距离(十进制)和error_no(1-8)。到目前为止,我使用以下内容:
plot(b1$dist1, b1$e1, col="blue",type="p", pch=20, cex=.5)
points(b1$dist2, b1$e2, col="blue", pch=22)
将它们添加到同一个图中。 (我稍后会添加传说等)。
我遇到的问题是点重叠,即使在使用绘图改变角色时,它也会覆盖以前的点。由于我计划的绘图不仅仅是2,这将是一个大问题。
我找到了一些方法:
http://www.rensenieuwenhuis.nl/r-sessions-13-overlapping-data-points/
但是我宁愿做一些能够沿y轴划分点的东西,一种方法是添加.1,然后添加.2,依此类推,但我想知道是否有任何包为我做。
干杯 中号 ps:如果我错过了什么,请告诉我。
答案 0 :(得分:2)
正如您发布的链接中的第一点所述,jitter
会稍微移动您的所有积分。如果您只想移动y轴上的点:
plot(b1$dist1, b1$e1, col="blue",type="p", pch=20, cex=.5)
points(b1$dist2, jitter(b1$e2), col="blue", pch=22)
答案 1 :(得分:2)
很大程度上取决于您希望传递给图表读者的信息。常见的解决方案是使用R的颜色规格的透明度质量。例如,不要将颜色称为“蓝色”,而是将颜色设置为#0000FF44
(如果我只是将其设置为红色或绿色,则道歉)最后两个字节定义透明度,从00到FF,因此重叠的数据点将看起来比独立点更暗。
答案 2 :(得分:0)
查看spread.labs
包中的TeachingDemos
函数,尤其是示例。可能您可以使用该函数来创建绘图(示例处理标签,但可以很容易地应用于点本身)。关键是您需要根据组合数据找到新位置,然后绘图。如果功能不符合您的要求,您仍然可以查看代码并使用这些想法来分散您的观点。
另一种方法是重构数据并使用ggplot2
包“躲避”。其他方法而不是多次使用points
将是matplot
函数,使用col
参数绘制矢量或lattice
或ggplot2
图。您可能需要重新构建其中任何数据。