我想在图的框外添加一个箭头,替换梯度缩放图例中的值。通过这样做,我希望更容易理解我的图例。一些玩具数据:
library(tidyverse)
set.seed(27)
df <- data.frame(food = c("apple","meat","rice","beans","sandwich","potato","bublegum","candy","pasta","grape", "lemon","orange"),
tastefullness_according_to_kids = c("03","06","02","10","05","12","01","04","08","07","11","09"),
votes = sample.int(50, 12))
df$tastefullness_according_to_kids <- as.numeric(df$tastefullness_according_to_kids)
这是我迄今为止所尝试的:
ggplot(data=df,aes(x=food, y=votes, fill = tastefullness_according_to_kids))+
geom_bar(stat = "identity")+
scale_fill_gradient(low= "#000000", high="#FF0000", labels=NULL)+
xlab(expression(symbol('\255')))+
theme(axis.title.x = element_text(size=30))
这里我的问题是,虽然我成功地在x轴(甚至在y轴)插入了一个箭头,但我无法将其插入图例中,靠近填充比例。我想完成的是:
我也尝试了与上面相同的代码,但将“xlab”替换为“labs”,以便在图例旁边插入我的箭头,但它没有工作。
有人能帮我吗?谢谢。
2条答案
按热度按时间rvpgvaaj1#
一个简单的方法是使用
cowplot
提取图例,通过annotation_custom
添加箭头,然后通过patchwork
将其粘回主图:8ulbf1ek2#
我们可以将填充图例中的默认分隔符/标签替换为箭头所需位置的单个分隔符(我使用6.5),并提供一个unicode箭头作为标签。之后,隐藏图例中的刻度并调整箭头的字体大小以满足您的需求: