在ggplot2中的图例键中更改符号 [英] Change the symbol in a legend key in ggplot2
本文介绍了在ggplot2中的图例键中更改符号的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
此R代码产生一个ggplot2图,其中图例键包含以红色,蓝色和绿色重复的字母"a".
This R code produces a ggplot2 graph in which the legend key contains the letter "a" repeated in red, blue and green.
x <- rnorm(9); y <- rnorm(9); s <- rep(c("F","G","K"), each = 3)
df <- data.frame(x, y, s)
require(ggplot2)
ggplot(df, aes(x = x, y = y, col = s, label = s)) +
geom_text() +
scale_colour_discrete(name = "My name", breaks = c("F","K","G"), labels = c("Fbig","Kbig","Gbig"))
我想将图例键中重复的"a"替换为"F","K"和"G".
I would like to replace the repeated "a" in the legend key with "F", "K" and "G".
这可能吗?谢谢.
推荐答案
Adapting code for this answer:
The idea is to inhibit the geom_text
legend, but to allow a legend for geom_point
, but make the point size zero so the points are not visible in the plot, then set size and shape of the points in the legend in the guides
statement
x <- rnorm(9); y <- rnorm(9); s <- rep(c("F","G","K"), each = 3)
df <- data.frame(x, y, s)
#
require(ggplot2)
#
ggplot(df, aes(x = x, y = y, colour = s, label = s)) +
geom_point(size = 0, stroke = 0) + # OR geom_point(shape = "") +
geom_text(show.legend = FALSE) +
guides(colour = guide_legend(override.aes = list(size = 5, shape = c(utf8ToInt("F"), utf8ToInt("K"), utf8ToInt("G"))))) +
scale_colour_discrete(name = "My name", breaks = c("F","K","G"), labels = c("Fbig","Kbig","Gbig"))
这篇关于在ggplot2中的图例键中更改符号的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文