如何将图例符号与 ggplot2 上的包装图例文本对齐
How to align legend symbol with wrapped legend text on ggplot2
有没有办法将图例符号(红点、绿点或蓝点)与示例图上环绕的图例文本的第一行对齐? (摘自 eipi10 )
library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species,
"random text to make the labels much much longer than the original labels")
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
geom_point() +
labs(colour="Long title shortened\nwith wrapping") +
theme(legend.key.height=unit(2, "cm"))
这是一个细节问题,但合著者坚持要这样做。
这是一种通过将背景颜色更改为白色并使用 vjust 来实现的解决方案。我找不到一种简单的方法来顶部对齐框内的点...
library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species,
"random text to make the labels much much longer than the original labels")
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
geom_point() +
labs(colour="Long title shortened\nwith wrapping") +
theme(legend.key.height=unit(2, "cm"), legend.key = element_rect(fill = "white")) +
guides(colour = guide_legend(label.vjust = -1, label.position = "right"))
由 reprex package (v0.2.1)
于 2019-01-28 创建
有没有办法将图例符号(红点、绿点或蓝点)与示例图上环绕的图例文本的第一行对齐? (摘自 eipi10
library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species,
"random text to make the labels much much longer than the original labels")
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
geom_point() +
labs(colour="Long title shortened\nwith wrapping") +
theme(legend.key.height=unit(2, "cm"))
这是一个细节问题,但合著者坚持要这样做。
这是一种通过将背景颜色更改为白色并使用 vjust 来实现的解决方案。我找不到一种简单的方法来顶部对齐框内的点...
library(stringr)
library(tidyverse)
# Create long labels to be wrapped
iris$Species = paste(iris$Species,
"random text to make the labels much much longer than the original labels")
ggplot(iris, aes(Sepal.Length, Sepal.Width, colour=str_wrap(Species,20))) +
geom_point() +
labs(colour="Long title shortened\nwith wrapping") +
theme(legend.key.height=unit(2, "cm"), legend.key = element_rect(fill = "white")) +
guides(colour = guide_legend(label.vjust = -1, label.position = "right"))
由 reprex package (v0.2.1)
于 2019-01-28 创建