Uważam, że to pytanie różni się nieco od podobnych pytań zadawanych tutaj wcześniej z powodu użycia scale_fill_brewer(
. Ja pracuję nad choropleth podobna do tej jednej https://gist.github.com/233134Zmień tekst/etykiety legenda ggplot
który wygląda tak:
i legendy jak:
Lubię go, ale chcesz zmień etykiety na legendzie z etykiet wyglądających na cut, tj. (2, 4) na coś bardziej przyjaznego, np. "2% do 4% 'lub' 2% - 4% ". Widziałem gdzie indziej, s łatwo zmienić etykiety wewnątrz skali _... jak widać here. Nie mogę się domyślić, gdzie umieścić argument = argument. Mogę oczywiście ponownie kodować choropleth$rate_d
, ale wydaje się to nieefektywne. Gdzie powinienem umieścić argument: labels=c(A, B, C, D...)
?
Oto kawałek kodu zainteresowania (dla pełnego kodu użyj linku powyżej)
choropleth$rate_d <- cut(choropleth$rate, breaks = c(seq(0, 10, by = 2), 35))
# Once you have the data in the right format, recreating the plot is straight
# forward.
ggplot(choropleth, aes(long, lat, group = group)) +
geom_polygon(aes(fill = rate_d), colour = alpha("white", 1/2), size = 0.2) +
geom_polygon(data = state_df, colour = "white", fill = NA) +
scale_fill_brewer(pal = "PuRd")
Z góry dziękuję za pomoc.
EDIT: przy użyciu metody Dwin jest (powinien napisali ten błąd jest to, co ja spotkało się z wcześniej)
> ggplot(choropleth, aes(long, lat, group = group)) +
+ geom_polygon(aes(fill = rate_d), colour = alpha("white", 1/2), size = 0.2) +
+ geom_polygon(data = state_df, colour = "white", fill = NA) +
+ scale_fill_brewer(pal = "PuRd", labels = lev4)
Error: Labels can only be specified in conjunction with breaks
Jesteś zbyt szybki. Widziałem błąd i naprawiłem go. Dostałem nieco bardziej pouczającą wiadomość: "Błąd: Etykiety i przerwy muszą być tej samej długości" –