0

下面的代码生成了一个图,其中一个点的大小与具有相同 x 和 y 值的案例数量成正比。如何增加点之间的空间,使它们不会相互交叉或相交?虽然下面的示例使用了假数据,但真实数据包含大约 200 个高度相交的点,因此很难感知每个单独的点。

谢谢,

苏菲亚

    x = seq(1:10)
    y = c(4,3.8,3.8,3.2,3.1,2.5,2,1.5,1.2,1.3)
    size = c(7,20,2,70,100,70,5,80,110,2)
    pdf("example.pdf")
    par(mar=c(5,5,1.8,1.8))
    plot(y ~ x, cex = sqrt(size), pch = 1,
         ylab="y",
         xlab = "x",ylim=c(0,4),
         cex.lab =1.8,cex.axis =1.3,
         lwd = .5,type= "p", col="grey60")
    dev.off()
4

1 回答 1

0

我会用ggplot2这个:

df = data.frame(x = seq(1:10), 
                y = c(4,3.8,3.8,3.2,3.1,2.5,2,1.5,1.2,1.3),
                size = c(7,20,2,70,100,70,5,80,110,2))

library(ggplot2)
ggplot(df, aes(x = x, y = y, size = size)) + geom_point()

在此处输入图像描述

ggplot2根据 中的值缩放地图的区域size,它不直接使用sizeas cex。因此,不存在重叠问题,无需手动调整cex.

于 2013-04-17T16:45:06.610 回答