#r #dictionary #ggplot2 #plot #tidyverse
#r #словарь #ggplot2 #график #tidyverse
Вопрос:
Допустим, я использую следующий код для создания следующего графика, сохраненного с помощью ggsave
:
library(tidycensus)
library(tidyverse)
library(RColorBrewer)
options(tigris_use_cache = TRUE)
data0 <- get_acs(geography = "county",
variables = c(total="B15003_001", phd="B15003_025"),
year = 2017, geometry = TRUE, keep_geo_vars=TRUE)
data <- data0 %>% filter(STATEFP!="15"amp;STATEFP!="02"amp;STATEFP!="72") %>%
select(-moe) %>%
spread(variable, estimate) %>%
mutate(estimate = 100*(phd/total)) %>%
arrange(estimate)
data$GEOID <- as.integer(data$GEOID)
a <-ggplot()
geom_sf(data = data, aes(fill = cut(estimate, c(0, 1, 2, 4, 20), include.lowest = TRUE)),
size=.005, show.legend = FALSE)
scale_fill_brewer(type="seq", palette="RdYlGn", name="Percent", direction=-1)
theme_bw() [![enter image description here][1]][1]
theme(panel.background = element_rect(fill = 'white'))
theme(panel.grid = element_blank(),axis.title = element_blank(),
axis.text = element_blank(),axis.ticks = element_blank(),
panel.border = element_blank())
ggsave(a, filename="phd_per.png",width=6,height=3.3,units='in',dpi=400, bg="gray")
Мой вопрос в том, как я могу сохранить ее, чтобы вокруг изображения не было лишнего пробела?
Я подозреваю, что происходит то, что она включает сетку, которая, конечно, мне не нужна, потому что я сделал ее полностью белой. Когда я удаляю этот код:
theme(panel.background = element_rect(fill = 'white'))
theme(panel.grid = element_blank(),axis.title = element_blank(),
axis.text = element_blank(),axis.ticks = element_blank(),
panel.border = element_blank())
Я получаю это изображение:
Я хочу что-то вроде (кроме меток сетки):
ОБНОВЛЕНИЕ на основе комментария.
Вот еще один пример, для которого не требуется ключ переписи. Все вышеуказанные пункты остаются неизменными:
nc <- sf::st_read(system.file("shape/nc.shp", package = "sf"), quiet = TRUE)
b <- ggplot(nc)
geom_sf(aes(fill = AREA))
ggsave(b, filename="nc.png",width=5.35,height=2.1,units='in',dpi=400, bg="gray")
Комментарии:
1. Не могли бы вы отредактировать свой вопрос, чтобы включить примеры данных, для доступа к которым не требуется ключ API. В противном случае сложно протестировать и помочь вам.
2. Я не могу точно сказать, что вы пытаетесь сделать. Может быть, вы просто хотите
theme_void()
, а затем также используетеexpand = c(0,0)
сscale_x_continuous()
иscale_y_continuous()
3. Я обновил другой пример, для которого не требуется ключ переписи.
4. Ваше решение работает хорошо. Спасибо!