下面的代码生成一个图,其中点的大小与具有相同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()
答案 0 :(得分: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
中的值缩放地图区域,但不直接使用size
作为cex
。因此,不存在重叠问题,也无需手动调整cex
。