请考虑以下示例(取自Stackoverflow上的另一篇文章):
require(ggplot2)
d <- data.frame(x = c(102856,17906,89697,74384,91081,52457,73749,29910,75604,28267,122136, 54210,48925,58937,76281,67789,69138,18026,90806,44893),
y = c(2818, 234, 2728, 2393, 2893, 1015, 1403, 791, 2243, 596, 2468, 1495, 1232, 1746, 2410, 1791, 1706, 259, 1982, 836),
names = c("A","C","E","D","G","F","I","H","K","M","L","N","Q","P","S","R","T","W","V","Y"))
ggplot(d, aes(x,y,col=names)) + geom_point() + geom_text(aes(label=names),hjust=1,vjust=1)
Run Code Online (Sandbox Code Playgroud)
运行它然后没有最后一个"geom_text"图层会更改图例(子弹变成一个子弹,其上叠加了另一个符号).
你能解释一下为什么,以及如何避免这种变化?谢谢.
color=在ggplot()调用中设置颜色时,颜色用于点和文本标签,并且还为点(默认符号为点)和文本(默认符号为a)设置图例.如果你添加一些东西aes()的ggplot(),然后它会影响使用这样的参数,如果新的参数不会添加到该层所有层.如果您需要更改文字标签的颜色,但不希望显示在传说中再加入参数show_guide=FALSE内geom_text().
ggplot(d, aes(x,y,color=names)) + geom_point() +
geom_text(aes(label=names),hjust=1,vjust=1,show_guide=FALSE)
Run Code Online (Sandbox Code Playgroud)
如果你想改变颜色只为点,然后color=说法应放置在aes()的geom_point(),所以它会影响颜色只点.
ggplot(d, aes(x,y)) + geom_point(aes(color=names)) +
geom_text(aes(label=names),hjust=1,vjust=1)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4234 次 |
| 最近记录: |