Description Usage Arguments Value Examples
View source: R/geom_timeline_label.R
geom_timeline_label
adds annotations to earthquake data
timelines produced with geom_timeline. This geom adds a vertical
line to each data point with a text annotation (e.g. the location of an
earthquake) attached atop each line.
geom_timeline_label
provides an option to subset to n_max
number
of earthquakes, where n_max
selects the largest (by magnitude) earthquakes.
This geometry supports the following aesthetics:
x
is the date of the earthquake and
label
is the column name from which annotations will be obtained
1 2 3 4 5 | geom_timeline_label(mapping = NULL, data = NULL, stat = "identity",
position = "identity", na.rm = FALSE, show.legend = NA,
inherit.aes = TRUE, pointerheight = 0.05, angle = 45,
labelcolour = "black", n_max = .Machine$integer.max, fill = "black",
xmin = .Machine$double.xmin, xmax = .Machine$double.xmax, ...)
|
mapping |
Set of aesthetic mappings created by |
data |
The data to be displayed in this layer. There are three options: If A A |
stat |
The statistical transformation to use on the data for this layer, as a string. |
position |
Position adjustment, either as a string, or the result of a call to a position adjustment function. |
na.rm |
a |
show.legend |
logical. Should this layer be included in the legends?
|
inherit.aes |
If |
pointerheight |
is a |
angle |
is a |
labelcolour |
is a |
n_max |
is a |
fill |
a |
xmin |
is a |
xmax |
is a |
... |
a |
a ggplot2
object representing timeline labels. This is intended to be
used with geom_timeline.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 | library(quake )
library(magrittr )
library(data.table)
library(ggplot2 )
# Create dummy data
n <- 100 # start with 100 data samples
countries <- c("USA", "China", "India", "South Africa")
dt <- data.table(
date = as.Date('2017-01-01') + seq(1, 365, 365/n),
country = factor(sample(countries, replace = TRUE, size = n)),
intensity = runif(n)*10, # mag is somewhere beteen 0 and 10
deaths = runif(n)*12
)
head(dt) # show dummy data
start_date <- as.Date('2017-07-01') # only show quakes from July 2017
end_date <- as.Date('2017-07-30') # only show quakes from July 2017
no_labels_toshow <- 3 # show only three labels from highest intensity quakes
dt %>%
ggplot() +
geom_timeline_label(
aes(
label = as.character(country),
x = date ,
y = country ,
size = intensity
),
n_max = no_labels_toshow,
xmin = start_date,
xmax = end_date
) +
geom_timeline(
aes(
x = date ,
y = country ,
size = intensity,
col = deaths
),
xmin = start_date,
xmax = end_date,
alpha = 0.8
) +
labs(x = "DATE") +
scale_size_continuous (name = "Richter scale value") +
scale_color_continuous(name = "# deaths" ) +
theme_classic() +
theme_timeline_with_y_axis_text
|
Add the following code to your website.
For more information on customizing the embed code, read Embedding Snippets.