Я пытаюсь создать этот график график налогов на энергию из excel , созданный в excel из r с помощью ggplot2 (и tidyverse).
Я использую MR open и rstudio.Я использовал данные Евростата.Я получаю их с помощью chekpoint 2019-03-30 по:
library(tidyverse)
library(eurostat)
#this part gets the values for the revenue in euros for all countries
taxes_total <- get_eurostat(id = "t2020_rt300", time_format = "num")
taxes_total <- label_eurostat(taxes_total)
#this part gets the values for the revenue in euros for only Greece
taxes_total_grc <- taxes_total %>%
filter(time >= 2008, geo == "Greece") %>% select(geo, time, nace_r2, values)
View(taxes_total_grc)
#this part gets the values for the percentages of taxes by sector for all countries
taxes_per_sect <- get_eurostat(id = "t2020_rt310", time_format = "num")
taxes_per_sect <- label_eurostat(taxes_per_sect)
#this part gets the values for the percentages of taxes by sector for only Greece
taxes_per_sect_grc <- taxes_per_sect %>%
filter(time >= 2008, geo == "Greece") %>% select(geo, time, nace_r2, values)
View(taxes_per_sect_grc)
#here i am making a dataframe to have it all together but i haven't used it in the graph because i cannot figure out how to seperate the revenue values from the percentage in the graph.
energy_taxes <- rbind(taxes_per_sect_grc, taxes_total_grc)
Мне удалось сделать гистограмму в той же форме, написав такой код:
taxes_per_sect_grc %>%
filter(time %in% seq(2008,2016,2)) %>%
ggplot(aes(x = reorder(nace_r2, -values), y = values, fill = nace_r2))+
geom_bar(stat = "identity") +
geom_text(aes(label = values), vjust = -0.2, size = 3.5)+
facet_wrap(~ time, nrow = 1, strip.position = "bottom") +
theme(legend.position = c(0.75, 0.95),
legend.title = element_blank(),
legend.text = element_text(size = 8),
legend.key.size = unit(4, "mm"),
legend.direction = "vertical",
panel.grid = element_blank(),
panel.background = element_blank(),
axis.title.x=element_blank(),
axis.text.x=element_blank(),
axis.ticks.x=element_blank(),
strip.background = element_blank())+
guides(fill = guide_legend(ncol = 2))+
labs(title = "Distribution of energy taxes in Greece",
y = "% of energy taxes", caption = "Eurostat")
Iпрочитал о проблемах и почему не очень хорошо использовать вторичную ось с графиками.Тем не менее, в графе Excel есть вторичная ось в преобразовании 1: 1 (точнее, от 1 до 60), поэтому окончательный график не искажает информацию.
Итак, мой вопрос:
- как я могу сделать график Excel?
- как я могу использовать df, у которого есть вся информация (energy_taxes), и отфильтровать его с правильной информацией для geom_bar и части geom_line.
- Если я не могу использовать полный фрейм данных (energy_taxes), тогдаКак я могу использовать две отдельные части tax_total_grc для значений дохода и tax_per_sector_grc для процентов для создания графика.
- Является ли facet_wrap правильным подходом?Я спрашиваю, потому что он в основном создает отдельные графики, так как же geom_line соединится между ними, чтобы напоминать Excel?
спасибо всем за ваше время