我希望条形图的x轴为连续刻度。
这是我的数据:
list(
Century = c(1, 2, 3, 4, 5),
CenturyLabel = c("1st", "Bit later", "", "", "Post-Roman"),
Value = c(.2, .3, 0, 0, .4) ) %>% as_tibble()
我希望看到1、2和5世纪的酒吧,在3、4世纪有空白。
答案 0 :(得分:1)
诀窍是将x轴变量定义为 factor 。
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)