【发布时间】:2015-05-04 17:14:41
【问题描述】:
这可能最终成为expression 或call 问题,但我正在尝试有条件地格式化单个轴标签。
在以下示例中,我想有选择地将其中一个轴标签加粗:
library(ggplot2)
data <- data.frame(labs = c("Oranges", "Apples", "Cucumbers"), counts = c(5, 10, 12))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity")`
有类似的问题here,但解决方案涉及theme和element_text。我正在尝试直接使用轴标签。
我可以手动执行此操作,如下所示:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold("Cucumbers"))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
但是,如果我尝试通过索引而不是输入“Cucumbers”来执行此操作,则会收到以下错误:
breaks <- levels(data$labs)
labels <- breaks
labels[2] <- expression(bold(labels[2]))
ggplot(data = data) +
geom_bar(aes(x = labs, y = counts), stat="identity") +
scale_x_discrete(label = labels, breaks = breaks)
这是有道理的,因为它没有评估labels[2]。但是,有谁知道如何强迫它这样做?谢谢。
【问题讨论】: