ggplot2实验室左对齐和数据排序

时间:2016-10-18 21:21:16

标签: r ggplot2

我对使用ggplot2包创建的绘图有疑问。假设我们有这样的情节:

df = data.frame(
  numbers = seq(1,5),
  labels = c(
    "Brand",
    "Good Brand",
    "The Best Brand",
    "The Best Brand Today",
    "The Best Brand This Month"
  )
)
df = df[order(-df$numbers),]
plot = ggplot(data = df, aes(x=labels, y=numbers))+
  geom_bar(stat="identity", fill='orange')+
  coord_flip()+
  labs(
    title = "Exemplary title",
    caption = "Exemplary caption 1\nExemplary caption number 2"
  )+
  theme(
    plot.title = element_text(hjust = -0.5),
    plot.caption = element_text(hjust = -0.5),
    panel.spacing = unit(c(0,0,0,20), "cm")
  )
plot

我的情况如下:

  1. vjusttitle设置负caption值并不是最佳解决方案,原因有两个:
    • 如果标题有\n字符,则格式非常奇怪,似乎依赖于字幕长度,
    • 标题长度可以更改,因此vjust值也可以更改,因此它们不能保持不变
  2. 有没有更好的方法将标题和标题对齐到绘图的左侧(所以在这种情况下是整个图片的左侧)?

    1. 为什么ggplot总是按标签的字母顺序对数据进行排序?在绘图时可以以某种方式考虑先前完成的df排序吗?它可以比使用x= reorder(labels, numbers)更好地解决吗?

0 个答案:

没有答案