Хитрость заключается в том, чтобы определить переменную оси x как фактор .
library("dplyr")
df <- tibble(
Century = c(1, 2, 3, 4, 5),
CenturyLabel = c("1st", "Bit later", "", "", "Post-Roman"),
Value = c(.2, .3, 0, 0, .4) )
df$CenturyFactor <- factor(df$Century, labels = df$CenturyLabel), ordered = TRUE)
Затем вы можете использовать CenturyFactor
в качестве переменной оси X, и вы увидите разрыв с любыми правильными библиотеками черчения ... С большой оговоркой, что любые повторяющиеся метки приводят к слиянию веков!
Один из способов обойти это - построить Century
(от 1 до 5), но настроить метки так, чтобы они показывали CenturyLabel
. Это будет зависеть от библиотеки. Факторы не нужны.
Использование ggplot2:
library("ggplot2")
ggplot(df, aes(x = Century, y = Value)) +
geom_col() +
scale_x_continuous(labels = df$CenturyLabel, breaks = df$Century)