Więc czytałem this post i zakochałem się w kalendarzowej mapie ciepła z przerwami w stylu Tetris.kalendarz mapa termiczna wykres tetris
Jednak przykład ggplot
nie implementuje przerw Tetris, które są prawdopodobnie najlepszą częścią.
Więc FTFY, gist here:
Procedura ta jest:
- stworzyć odpowiednie Tetris łamie dla danych
left_join
danych do przerw Tetris utworzonych w (1)- przepompuj powyższe przez
ggplot
z niektóre specjalnie spreparowanegeom
s
Metodologia (1) jest dość prosta, realizowany w funkcji calendar_tetris_data(...)
w gist, choć byłoby miło, aby uczynić go trochę bardziej elastyczny.
Moje pytanie dotyczy głównie (3): w jaki sposób mogę połączyć 7 geom
s, aby podzielić przerwy na jedną procedurę lub na geom
?
Gdybym to zrobić:
calendar_tetris_geoms <- function() {
geom_segment(aes(x=x, xend=x, y=ymin, yend=ymax)) + # (a)
geom_segment(aes(x=xmin, xend=xmax, y=y, yend=y)) + # (b)
geom_segment(aes(x=dec.x, xend=dec.x, y=dec.ymin, yend=dec.ymax)) + # (c)
geom_segment(aes(x=nye.xmin, xend=nye.xmax, y=nye.y, yend=nye.y)) + # (d)
geom_segment(x=-0.5, xend=51.5, y=7.5, yend=7.5) + # put a line along the top
geom_segment(x=0.5, xend=52.5, y=0.5, yend=0.5) + # put a line along the bottom
geom_text(aes(x=month.x, y=month.y, label=month.l), hjust=0.25) # (e)
}
a następnie spróbuj dodać, że do mojego ggplot
, to nie działa:
> ggplot(data) + calendar_tetris_geoms()
Error in calendar_tetris_geoms() :
argument "plot" is missing, with no default
I wyraźnie nie rozumiem, jak to działa. Jak to działa?
@TylerRinker sedno i dostarczyły danych wyciąga z Yahoo Finance. możesz tego użyć? – dvmlls
użyj 'list (geom1, geom2, geom3)' zamiast 'geom1 + geom2 + ...' – baptiste
@ baptiste możesz rozwinąć? –