Вот пример того, как вы можете использовать geom_tile
, чтобы получить «похожий» график:
Начиная с этого поддельного примера:
library(lubridate)
df <- data.frame(USA = c(rep(1,5),5,10,25,50,150,200,250,250,250),
Italy = c(rep(1,2),5,10,25,50,100,150,175,200,250,300,350,400),
Date = seq(ymd("2020-01-01"),ymd("2020-04-01"), by = "1 weeks"))
Вы можете преобразовать кадр данных в более длинный отформатируйте с использованием pivot_longer
из tidyr
и нанесите значения, как указано в ggplot2
. Вы можете заплатить с аргументом ширины и высоты geom_tile
, чтобы приблизиться к исходному графику.
library(tidyr)
library(ggplot2)
df %>% pivot_longer(-Date, names_to = "country", values_to = "Cases") %>%
ggplot(aes(x = Date, y = country, fill = Cases))+
geom_tile(width = 5, height = 0.5, color = "black")+
scale_fill_gradient(low = "white", high = "red")+
scale_x_date(date_breaks = "week", date_labels = "%b %d")+
theme_classic()
![enter image description here](https://i.stack.imgur.com/Wvkum.png)
Отвечает ли он на ваш вопрос?