R 标记geom_点,但不是所有点
我会有一个显示良好的数据表。然而,如果我想标记这些点,它最终会陷入混乱,因为有太多的数据点。因此,我只想显示一些标签。我这样试过:R 标记geom_点,但不是所有点,r,ggplot2,R,Ggplot2,我会有一个显示良好的数据表。然而,如果我想标记这些点,它最终会陷入混乱,因为有太多的数据点。因此,我只想显示一些标签。我这样试过: p <- ggplot() + coord_fixed() + theme_bw() + theme( legend.position="none", panel.grid.major = element_blank(), panel.grid.minor = element_blank(), panel.border = element_blank(),
p <- ggplot() +
coord_fixed() +
theme_bw() +
theme(
legend.position="none",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
scale_size_area(max_size = 20) +
scale_x_continuous("<= Links - Rechts =>") +
scale_y_continuous("<= Konservativ - Liberal =>") +
layer(
data=werte,
mapping=aes(x=(xy$x + abs(X_Mini) ) * 150 / (X_Maxi-X_Mini),
y=(xy$y + abs(Y_Mini) ) * 150 / (Y_Maxi-Y_Mini),
size=werte$avg_gult,
colour = werte$kern_uml,
alpha = 1/100 ),
geom="point",
scale_size_area(max_size = 30)
) +
geom_text(data=subset(werte, avg_gult > 1000),
aes(x=(xy$x + abs(X_Mini) ) * 150 / (X_Maxi-X_Mini),
y=(xy$y + abs(Y_Mini) ) * 150 / (Y_Maxi-Y_Mini))
aes(label=werte$Gemeinde))
p
x y avg_gult Gemeinde kern_uml
1 -0.230 1.720 559 Aeugst am Albis U
2 -0.534 1.018 2595 Affoltern am Albis U
3 -0.182 1.546 1395 Bonstetten U
4 -0.590 1.194 1017 Hausen am Albis 0
5 -0.240 1.443 988 Hedingen U
6 0.810 0.169 312 Kappel am Albis 0
7 -0.430 0.915 526 Knonau U
8 -0.517 0.484 202 Maschwanden 0
etc.
X_Maxi <- 3.5
X_Mini <- -4.5
Y_Maxi <- 3.5
Y_Mini <- -4.5
它可以工作,但正如前面提到的,我不希望所有的点都被标记(只有那些平均值大于1000的点)。非常感谢您的帮助,谢谢
werte
看起来像这样:
p <- ggplot() +
coord_fixed() +
theme_bw() +
theme(
legend.position="none",
panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
panel.border = element_blank(),
panel.background = element_blank()) +
scale_size_area(max_size = 20) +
scale_x_continuous("<= Links - Rechts =>") +
scale_y_continuous("<= Konservativ - Liberal =>") +
layer(
data=werte,
mapping=aes(x=(xy$x + abs(X_Mini) ) * 150 / (X_Maxi-X_Mini),
y=(xy$y + abs(Y_Mini) ) * 150 / (Y_Maxi-Y_Mini),
size=werte$avg_gult,
colour = werte$kern_uml,
alpha = 1/100 ),
geom="point",
scale_size_area(max_size = 30)
) +
geom_text(data=subset(werte, avg_gult > 1000),
aes(x=(xy$x + abs(X_Mini) ) * 150 / (X_Maxi-X_Mini),
y=(xy$y + abs(Y_Mini) ) * 150 / (Y_Maxi-Y_Mini))
aes(label=werte$Gemeinde))
p
x y avg_gult Gemeinde kern_uml
1 -0.230 1.720 559 Aeugst am Albis U
2 -0.534 1.018 2595 Affoltern am Albis U
3 -0.182 1.546 1395 Bonstetten U
4 -0.590 1.194 1017 Hausen am Albis 0
5 -0.240 1.443 988 Hedingen U
6 0.810 0.169 312 Kappel am Albis 0
7 -0.430 0.915 526 Knonau U
8 -0.517 0.484 202 Maschwanden 0
etc.
X_Maxi <- 3.5
X_Mini <- -4.5
Y_Maxi <- 3.5
Y_Mini <- -4.5
xyavg_gult Gemeinde kern_uml
1-0.230 1.720 559美国阿尔比斯大学
2-0.534 1.018 2595阿尔比斯大学
3-0.182 1.546 1395 Bonstetten U
4-0.590 1.194 1017 Hausen am Albis 0
5-0.240 1.443 988赫丁根U
6 0.810 0.169 312卡佩尔阿尔比斯0
7-0.4300.915 526克诺努U
8-0.517 0.484 202马斯切万登0
等
X_Maxi由于所有值都出现在werte
中,因此可以删除werte$
和xy$
的所有实例
其次,在geom_text
中使用两个aes
。将所有功能整合到一个aes中,它将工作:
库(ggplot2)
第1000页),
aes(x=(x+abs(x_Mini))*150/(x_Maxi-x_Mini),
y=(y+abs(y_Mini))*150/(y_Maxi-y_Mini),
标签=Gemeinde)
P
什么是xy
?另一个数据帧?@Sven Hohenstein:没错。我建议提供werte
和xy
。一般来说,我认为ggplot
在data
参数(例如data=werte
)中同时提供这两个数据帧,并且在aes
中提供来自另一个(或出于同样原因)数据帧的向量时,我觉得ggplot
不是很满意,使用$
(例如xy$x
)。可能是口味的问题,但我倾向于在将数据插入ggplot
之前准备数据(例如,子集、聚合)。我们仍然不知道“xy”是什么样子。请提供所有必要的数据。特别是,请检查dput
。谢谢。对不起,我忘了说我现在把“xy”和“werte”合并了。因此,“xy”列现在由“Werte”中的x和y列显示感谢第一次输入,不幸的是,这也不起作用。R告诉我:>匹配错误(x,表格,nomatch=0L):尝试应用非函数