Я строю карту своего учебного района, и у меня возникают проблемы с редактированием названия легенды.Мне нужно, чтобы это было «Прогнозируемая продуктивность фруктов в парах за 40 лет (фрукты га ^ -1), записанная в четырех строках. Я мог бы использовать bquote (), чтобы построить -1 как верхний индекс. Но он создал дополнительное пространство, которое я не могувыяснить, как его снять. Дополнительный пробел появляется только тогда, когда заголовок разделен на несколько строк. Кроме того, выражение (atop ()) создает верхний индекс, но как только я попытался разделить его на более чем две строки, он не показываетстроки три и четыре.
Это карта с дополнительным пробелом с использованием bquote ()
Это карта с заголовком из четырех строк с использованием выражения (atop ())
Я пробовал разные решения, найденные в интернете, в том числе этот пост . Но все они строят четвертую строку с дополнительным пробеломили только нарисуйте первую или вторую строку.
Ниже приведен код, который я использую. Любая помощь приветствуется. Комментарии представляют собой разные попытки.*
library(sf) #sf = simple feature
library(ggplot2)
library(dplyr)
PAECM_fallows <-read.csv("spatial_dist_fallows.csv")
PAECM_fallows_sp <- st_as_sf(PAECM_fallows,coords = c("X", "Y"),crs = "+proj=longlat +datum=WGS84 +no_defs")
custom_bins_fruit = c(0,60,120,180,240,1400)
PAECM_fallows_fruit <- PAECM_fallows_sp %>%
mutate(prod_cat_fallow = cut(prod_40, breaks= custom_bins_fruit),
age_cat_fallow = cut(age, breaks = c(11,17,22,29,60)))
prod_map_PAECM_fruit<-ggplot()+
geom_sf(data = PAECM_fallows_fruit,aes(size = prod_cat_fallow), shape = 18, show.legend = "point")+
scale_size_manual(values= c(2,3,4,5,6),
# name = "Projected fruit\nproductivity in\nfallows in 40 yrs \n(fruits ha^-1)",
name = bquote("Projected fruit\nproductivity in\nfallows in 40 yrs \n( fruits"*ha^-1*")"),
# name = expression(paste("Projected fruit productivity\nin fallows in 40 yrs\n"),bquote(paste("("*fruits~ha^-1*")"))),#(Fruits/ha)
name = expression(atop("Projected fruit",
"productivity in",
"fallows in 40 yrs",
"( fruits ha"^-1,")")),
breaks= c(NA,"(0,60]","(60,120]","(120,180]","(180,240]","(240,1.4e+03]"),
labels= c("NA","\u2264 60","60 - 120","120 - 180","180 - 240","> 240"),
guide = guide_legend(override.aes = list(linetype = "blank", shape = 18, fill = NA)))+
# labs(size = expression(atop("Projected fruit\nproductivity in\nfallows in 40 yrs\n(fruits"*ha^-1*")", sep="")))+ #comment name line at the scale_size_manual
# labs(size = bquote("Projected fruit productivity \nin fallows in 40 yrs \n( fruits"*ha^-1*")"))+ #comment name line at the scale_size_manual
ggplot2::theme_minimal()+
ggplot2::theme(legend.text.align=0.5,
legend.title.align = 0.5,
plot.background = element_blank(),
panel.grid = element_line(colour = "white"),
panel.background = element_rect(fill = "grey87", color = "white"))+#,
coord_sf(xlim = c(-68.45,-68.2), ylim = c(-11.05,-10.8))
prod_map_PAECM_fruit
Дополнительный вопрос.Как только я начал использовать цитату, я не мог выровнять текст заголовка с помощью темы (legend.title.align = 0.5), какие-либо другие идеи?