如何更改geom_text图例符号?在下面的示例中,我想将图例键中的符号从小写"a"更改为,例如,大写"N".我已经看过一个在这里做类似事情的例子,但是无法让这个例子起作用.
# Some toy data
df <- expand.grid(x = factor(seq(1:5)), y = factor(seq(1:5)), KEEP.OUT.ATTRS = FALSE)
df$Count = seq(1:25)
# An example plot
library(ggplot2)
ggplot(data = df, aes( x = x, y = y, label = Count, size = Count)) +
geom_text() +
scale_size(range = c(2, 10))
Run Code Online (Sandbox Code Playgroud)

我试图将图例的文本与使用的因子变量生成的文本颜色进行颜色匹配geom_text.这是一个最小的工作示例:
df <- data.frame(a=rnorm(10),b=1:10,c=letters[1:10],d=c("one","two"))
p1 <-ggplot(data=df,aes(x=b,y=a))
p1 <- p1 + geom_text(aes(label = c, color=d, fontface="bold"))
p1 <- p1 + scale_color_hue(name="colors should match",breaks=c("one", "two"),
labels=c("should be pink", "should be blue"))
p1
Run Code Online (Sandbox Code Playgroud)

我确信这是一个简单的解决方案.对先前帖子的任何建议或参考都会有所帮助.我没有发现任何特定的内容.
library(tidyverse)
library(emojifont)
load.emojifont("OpenSansEmoji.ttf")
pal <- c("\U1f337"="blue","\U1f370"="red")
set.seed(124)
xdf <- data_frame(x=rnorm(10),y=rnorm(10),
label=rep(c("\U1f337","\U1f370"),5))
xdf %>% ggplot(aes(x=x,y=y,label=label,color=factor(label))) +
geom_text(family="OpenSansEmoji") +
scale_color_manual("object",values=pal) +
guides(color=guide_legend(labels=FALSE)) +
theme(legend.text=element_text(family="OpenSansEmoji"))
Run Code Online (Sandbox Code Playgroud)
很容易看出,这个传说的信息量非常大。如果能用彩色表情符号代替两倍的彩色字母就好了a,我希望用单词tulip和代替黑色表情符号cake。
这能实现吗?