- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
是否可以更改单个分面图的格式?例如,使用下面的示例代码,可以更改 cyl=8 绘图的标题或背景颜色吗?
library(ggplot2)
ggplot(mtcars, aes(x=gear)) +
geom_bar(aes(y=gear), stat="identity", position="dodge") +
facet_wrap(~cyl)
最佳答案
您可以修改 ggplot2 grobs,例如:
library("ggplot2")
d <- ggplot(mtcars, aes(x=gear)) +
geom_bar(aes(y=gear), stat="identity", position="dodge") +
facet_wrap(~cyl)
grob <- ggplotGrob(d)
strip_bg <- grid.ls(getGrob(grob, "strip.background.rect",
grep=TRUE, global=TRUE))$name
panel_bg <- grid.ls(getGrob(grob, "panel.background.rect",
grep=TRUE, global=TRUE))$name
strip_text <- grid.ls(getGrob(grob, "strip.text.x",
grep=TRUE, global=TRUE))$name
grob <- geditGrob(grob, strip_bg[2], gp=gpar(fill="gray60"))
grob <- geditGrob(grob, panel_bg[2], gp=gpar(fill="darkolivegreen2"))
grob <- geditGrob(grob, strip_text[2], gp=gpar(col="white"))
grid.draw(grob)
grob <- ggplotGrob(d)
elem <- grob$grobs$panel2
panel_bg <- grid.ls(getGrob(elem, "panel.background.rect", grep=TRUE))$name
grob$grobs$panel2 <- editGrob(elem, panel_bg, gp=gpar(fill="darkolivegreen"), grep=TRUE)
elem <- grob$grobs$strip_t.1
strip_bg <- grid.ls(getGrob(elem, "strip.background.rect", grep=TRUE))$name
grob$grobs$strip_t.1 <- editGrob(elem, strip_bg, gp=gpar(fill="gray60"), grep=TRUE)
elem <- grob$grobs$strip_t.1
strip_text <- grid.ls(getGrob(elem, "strip.text.x.text", grep=TRUE))$name
grob$grobs$strip_t.1 <- editGrob(elem, strip_text, gp=gpar(col="white"), grep=TRUE)
grid.draw(grob)
关于r - 如何更改单个 facet_wrap 面板的格式?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6750664/
有没有办法控制 facet_wrap() 图中单个图的大小/纵横比?谢谢, -D 最佳答案 是否可以简单地“释放”x 轴、y 轴或两者的解决方案scales与 scales = "free_x" ,
据我所知 facet_wrap按行填充。以同样的方式,您可以指定如何填充 matrix与 byrow我希望你可以用 facet_wrap 做同样的事情。我知道我可以重新排序一个因子的水平以这种方式绘制
我想生成一个facet_wrap,其中构面内因子的顺序是基于列因子顺序之一。问题的核心是每个组都有重复的因子水平,当我绘制时,facet_wrap 中仅正确排序了一个因子水平。 (见下图) 我尝试对每
简而言之:我想为使用 facet_wrap 制作的双面板图的每个“面板”设置单独的图例。使用 facet_wrap(scales="free") 在我想要不同的轴比例时效果很好,但不适用于点的大小。
如何让每个新行都以新的因子水平开始?目前它基于批处理和样本进行包装,但不会在新的批处理因子级别中断。尝试“facet_grid(~batch~sample)”时,有许多不需要的空面板。 R 的结果和
我正在尝试使用 facet_wrap 将标签(a、b、c...)添加到实际图的边缘之外的图。我希望将它们放在标签区域中,但与 facet_wrap 标签(这是数据组的名称)分开。我可以使用 coord
我正在尝试使用 facet_wrap 绘图,默认情况下按字母顺序排列绘图。但是,所需的结果是按数字降序排列。 下面是我得到的: library(tidyverse) M % ggplot(ae
我的目标是让图中所有国家之间的距离大致相等。例如,在第一类(增加)中,国家是分散的。另一方面,第二类和第三类国家之间的距离太近了。 这迫使我减小国家文本的大小(例如“IS”、“UK”...)和绘制的估
我正在使用 ggplot2 制作几个直方图和 facet_wrap并想在每个面板上绘制平均值。下面,我创建了一个虚拟数据框,找到每个方面的平均值,然后使用 geom_point 创建添加平均值的图。
我尝试根据与相应 facet_wrap 图中相同的数据,将直方图 suplots 添加到 facet_wrap 图的每个部分 geom_sf 图中。 我通过 Google 找到了一些方法,但到目前为止
在以下使用 facet_wrap , 双方 year和 model显示在绘图标签中。 library(tidyverse) mpg %>% filter(manufacturer=='audi')
我写了一个函数来绘制条形图。但是当我开始多面包装时,'~' 符号让事情变得困难。 rf.funct <- function(dat, predictor, feature){ ggplot(get
我有以下数据集: structure(list(Geschaeft = c(0.0961028525512254, 0.0753516756309475, 0, 0.0722803347280335,
假设我有这些数据: set.seed(100) mydf<- data.frame( day = rep(1:5, each=20), id = rep(LETTERS[1:4],25), x = r
我正在尝试在 ggplot 中创建图表使用 facet_wrap争论。 但是,我不想在每个小图上都有标签,我只想在图的顶部和左侧有一个标签。 例如在下图中,我想在顶部标签 SI2、SI1、WS2 和左
数据框 (借自 here): df.test <- data.frame(id = rep(1:6, each = 50), x = rnorm(50*6, mean = 10, sd = 5),
我的 ggplot 有以下代码 - facet_wrap 函数在页面上为每个 Name 绘制 20 个图,沿 x 轴有 5 个 Pcode。我想计算每个名称的平均 TE.Contr 并将该值绘制为每个
我试图实现的是让条形按每个面板的给定变量排序。 一个简单的例子: library(ggplot2) library(plyr) df <- data.frame(fac = c
我正在努力为 facet_wrap() 中的每个方面绘制渐变色标独立。 数据太大,无法在此处发布,但这是我的代码: ggplot(stack, aes(hour, day)) + geom_til
我正在尝试使用facet_wrap和ggplot2将多个标题添加到绘图中。说您例如拥有过去两年的季度数据,并且希望将季度数据与两个主要标题进行图形化比较; 2014年和2015年,以及相应季度的标题。
我是一名优秀的程序员,十分优秀!