график счетчика для графиков временных рядов

#r #graph #ggplot2 #time-series #counter

#r #График #ggplot2 #временные ряды #счетчик

Вопрос:

Для следующих данных

 time<- c(1:10)
age<- c(11:20)
dummy<-c(0,0,1,0,0,0,0,0,0,0)
d<- data.frame(time, age,dummy)
  

Я хотел бы создать график, состоящий из 10 прямоугольников, расположенных горизонтально, охватывающих ширину графика, с цветом прямоугольника, соответствующим dummy = 1, отображенным на возраст, и напечатанной меткой возраста. Выглядит примерно так
введите описание изображения здесь

Я создаю временные ряды графиков поперечного сечения и хочу создать автоматический «счетчик», который показывал бы мне местоположение во времени. Этот график «счетчика» будет уложен поверх другого, более сложного графика, оба связаны с переменной счетчика.

Вопрос:

Какова наилучшая стратегия при создании такого графика с помощью ggplot2?

Комментарии:

1. Пожалуйста, поделитесь кодом построения, который вы пробовали до сих пор, и где у вас возникли проблемы.

Ответ №1:

Вот хотя бы начало. Я буду использовать geom_time для рисования квадратов

 library(ggplot2)

ggplot(d, aes(x=factor(time), y=factor(1), fill=factor(dummy)))  
   geom_tile(color="black")   
   geom_text(data=subset(d, dummy==1), aes(x=factor(time), y=factor(1), label=age))   
   scale_fill_manual(values=c("0"="white", "1"="green"), guide="none")   
   scale_x_discrete(expand=c(0,0))    scale_y_discrete(expand=c(0,0))  
   theme_minimal()
  

введите описание изображения здесь

Комментарии:

1. Да, это именно то, что я искал! Я начал думать в терминах гистограммы с накоплением и не мог выйти из этого состояния ума. Спасибо, @MrFlick!