【发布时间】:2011-07-11 16:16:47
【问题描述】:
我正在构建在轴文本中有两行的图表。第一行包含组名,第二行包含该组人口。我将轴标签构建为单个字符串,格式为“LINE1 \n LINE2”。是否可以为 LINE1 和 LINE2 分配不同的字体和大小,即使它们包含在单个字符串中?我希望 LINE1 大且加粗,LINE2 小且不加粗。
下面是一些示例代码:
Treatment <- rep(c('T','C'),each=2)
Gender <- rep(c('Male','Female'),2)
Response <- sample(1:100,4)
test_df <- data.frame(Treatment, Gender, Response)
xbreaks <- levels(test_df$Gender)
xlabels <- paste(xbreaks,'\n',c('POP1','POP2'))
hist <- ggplot(test_df, aes(x=Gender, y=Response, fill=Treatment, stat="identity"))
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0,
100), name = "") + scale_x_discrete(labels=xlabels, breaks = xbreaks) +
opts(
axis.text.x = theme_text(face='bold',size=12)
)
我试过了,但结果是一个大的粗体条目和一个小的非粗体条目:
hist + geom_bar(position = "dodge") + scale_y_continuous(limits = c(0,
100), name = "") + scale_x_discrete(labels=xlabels, breaks = xbreaks) +
opts(
axis.text.x = theme_text(face=c('bold','plain'),size=c('15','10'))
)
另一种可能的解决方案是创建单独的图表元素,但我认为 ggplot2 没有可用的“子轴标签”元素...
任何帮助将不胜感激。
干杯, 亚伦
【问题讨论】: