有没有办法在ggplot中更改facet标签的字体大小?我谷歌了一下,发现那个问题还在Hadley的待办事项清单上.我想知道是否有关于这个问题的解决方法或任何新闻.
感谢您分享任何新闻......
看起来条带总是在ggplot2创建的图上方.他们可以移到情节之下吗?
例如:
library(ggplot2)
qplot(hwy, cty, data = mpg) + facet_grid( . ~ manufacturer)
Run Code Online (Sandbox Code Playgroud)
在顶部显示汽车信息.它们可以显示在底部吗?
我正在创建一个图形facet_grid,用于在y轴上分割一个分类变量.我决定不使用,facet_wrap因为我需要space = 'free'和labeller = label_parsed.我的标签很长,右边有一个图例,所以我想将标签从面板右侧移动到面板顶部.
这是一个显示我陷入困境的例子.
library(ggplot2)
library(gtable)
mt <- ggplot(mpg, aes(x = cty, y = model)) + geom_point() +
facet_grid(manufacturer ~ ., scales = 'free', space = 'free') +
theme_minimal() +
theme(panel.margin = unit(0.5, 'lines'), strip.text.y = element_text(angle = 0))
Run Code Online (Sandbox Code Playgroud)

现在我想将条带文本从每个面板的右侧移动到每个面板的顶部.我可以存储条带标签的凹槽并将其从图中删除:
grob <- ggplotGrob(mt)
strips.y <- gtable_filter(grob, 'strip-right')
grob2 <- grob[,-5]
Run Code Online (Sandbox Code Playgroud)
但是现在我被困在rbind了 - 然后回到平板上,所以标签就到了面板的顶部.
另一种可能的解决方案是使用facet_wrap,然后重新大小的面板作为另一个问题讨论,但在这种情况下,我必须手动更改标签上的面,因为没有labeller = label_parsed了facet_wrap.
我对这两种方法的建议表示赞赏!
谢谢阅读,
汤姆
我正在绘制具有类别和子类别的数据(请参阅下面的示例数据),并且我想要嵌套显示这些数据(此示例是在Excel中创建的):

我在R中提出的最好的方法是创建一个具有所需名称的新列,如下所示:
df <- data.frame(main.cat = c("A", "A", "B", "B", "B", "C"),
second.cat = c("a1", "a2", "b1", "b2", "b3", "c1"),
value = c(2, 3, 4, 2.5, 1.5, 2.3))
df$x.labels <- paste(df$second.cat, df$main.cat, sep = "\n")
ggplot(data = df, aes(x = x.labels, y = value)) + geom_point()
Run Code Online (Sandbox Code Playgroud)
这至少保留了两个级别的类别,但重复了所有主要类别标签:
有没有人知道更好的东西,看起来更像Excel的输出?
我希望在1行和5列的刻面板上翻转标签,以便小平面标题显示在底部,x轴显示在小平面的顶部.
原因是我想重新使用那些将直接位于图表下方的表格.
所以在这个例子中......
library(ggplot2)
my.hist<-ggplot(diamonds, aes(clarity)) + geom_bar()
my.hist + facet_wrap( ~ cut, ncol=5) + coord_flip()
Run Code Online (Sandbox Code Playgroud)
我希望"剪切"标签显示在图表下方.我以为facet_grid可能会持有密钥,但这只是猜测.
有谁知道怎么做到这一点?