相关疑难解决方法(0)

geom_rect和alpha - 这是否适用于硬编码值?

相同的标题,完全重写了这个问题.

为什么alpha工作在第一个图而不是第二个?我很难理解为什么使用硬编码的值在正确的位置绘制rect而不是透明但是在data.frame中它按预期工作?

mtcars$cyl <- factor(mtcars$cyl)
mtcars$am <- factor(mtcars$am)

ggplot(mtcars) +
    geom_density(aes(x=disp, group=cyl, fill=cyl), alpha=0.6, adjust=0.75) + 
    geom_rect(data=data.frame(xmin=100, xmax=200, ymin=0, ymax=Inf), aes(xmin=xmin, xmax=xmax, ymin=ymin,ymax=ymax), fill="red", alpha=0.2) 

ggplot(mtcars) +
    geom_density(aes(x=disp, group=cyl, fill=cyl), alpha=0.6, adjust=0.75) + 
    geom_rect(aes(xmin=100, xmax=200, ymin=0,ymax=Inf), fill="red", alpha=0.2) 
Run Code Online (Sandbox Code Playgroud)

r ggplot2

54
推荐指数
2
解决办法
3万
查看次数

R/ggplot中的Barplot有多种因素

我有一张桌子,我想用ggplot2制作一个情节,到目前为止我还没有成功.我准备了一个看起来像这样的简化表

df1<-data.frame(Loc=c(rep("L1",5),rep("L2",3),rep("L3",4)),
Type=c(rep("T1",3),rep("T2",2),"T1","T2","T2","T1","T1","T2","T2"),
       y2009=rep("A",12),y2010=c("A","B","A","A","A","A","B","B","A","A","B","B"),
       y2011=c("B","B","B","A","B",rep("B",4),"A","B","B"))
df1
Run Code Online (Sandbox Code Playgroud)

Loc有3个位置.每个位置有2种类型的样本T1或T2.他们从2009年开始作为A,随着时间的推移,有些人成为B.因此,到2011年,有很多B.

这是我到目前为止的数字

ggplot(df1,aes(x=Type)) + geom_bar()+facet_grid(~Loc)
ggplot(df1,aes(x=y2009,fill=Type)) + geom_bar(position="dodge")+facet_grid(~Loc)
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述 在此输入图像描述

我不太确定如何从三个因素中得到计数.

我想要一个类似于下面的数字,我粗略地在油漆中起草.facet是位置,我只为Loc1制作了条形图. 在此输入图像描述

r ggplot2

15
推荐指数
1
解决办法
3万
查看次数

如何更改单个facet_wrap面板的格式?

是否有可能改变单个分面图的格式?例如,使用下面的示例代码,可以更改cyl = 8图表的标题或背景颜色吗?

library(ggplot2)
ggplot(mtcars, aes(x=gear)) + 
  geom_bar(aes(y=gear), stat="identity", position="dodge") +
  facet_wrap(~cyl)
Run Code Online (Sandbox Code Playgroud)

r ggplot2

10
推荐指数
2
解决办法
4963
查看次数

R + ggplot:如何根据每个方面更改选项

嗨,我在ggplot2中使用facet来绘制大量基因中表达的分布.我的绘图命令非常通用:

p <- ggplot(top_n,aes(x=value,fill=ptype))
p <- p + geom_density(alpha = 0.2)
p <- p + facet_wrap(~probe,...)
Run Code Online (Sandbox Code Playgroud)

他们只是将top_n中的数据绘制为根据ptype变量着色的分布.看起来不错.

然而,其中一些基因比其他基因更重要.例如,突出那些作为转录因子(TF)的基因真的很酷.一种方法是让我更改对应于TF的每个面的颜色标题框,或背景颜色,或类似的东西.

我有办法在每个方面设置图表的选项吗?

p对象中挖掘并没有发现我可以使用的任何东西,尽管我可能遗漏了一些东西!

r ggplot2

8
推荐指数
1
解决办法
1656
查看次数

在小平面STRIP背景中的多种颜色

我想根据组修改构面背景的颜色.我不确定这是否可行.具体来说,我使用facet_grid(不facet_wrap)多层.

## Sample data
dat <- mtcars
## Add in some colors based on the data
dat$facet_fill_color <- c("red", "green", "blue", "yellow", "orange")[dat$gear]

## Create main plot
library(ggplot2)
P <- ggplot(dat, aes(x=cyl, y=wt)) + geom_point(aes(fill=hp)) + facet_grid(gear+carb ~ .)

## I can easily cahnge the background using: 
P + theme(strip.background = element_rect(fill="red"))
Run Code Online (Sandbox Code Playgroud)

但是,我想为不同的组改变颜色.理想情况下,如下所示(当然不起作用)

P + theme(strip.background = element_rect(fill=dat$facet_fill_color))
P + theme(strip.background = element_rect(aes(fill=facet_fill_color)))
Run Code Online (Sandbox Code Playgroud)

小平面背景可以有多种颜色吗?

(相关,但不是上面的实际答案: ggplot2:基于数据集中变量的facet_wrap条带颜色)

r facet ggplot2

8
推荐指数
1
解决办法
5890
查看次数

在 ggplot2 中使用“facet_grid”时,突出显示/在一些图周围绘制一个框

我正在创建一个类似于以下的图矩阵

ggplot(mpg, aes(displ, hwy)) + geom_point() + facet_grid(rows = vars(cyl), cols = vars(drv))
Run Code Online (Sandbox Code Playgroud)

现在,我想有一些方法来突出显示一些单独的图,例如那些cyl是 5 或 6 以及drv是 的图f。因此,理想情况下,这可能看起来像这样:

在此输入图像描述

但我也很高兴那些面板通过设置ggtheme为经典或类似而具有不同的外观。

然而,我非常不清楚如何修改通过生成的图矩阵中单独选择的图facet_grid

r ggplot2 facet-grid

6
推荐指数
1
解决办法
2396
查看次数

ggplot facet_wrap 不同的主题

我正在寻找一种方法来facet_wrap处理同一%>%行中的不同主题,以获得类似的东西

在此处输入图片说明

有没有办法做类似的事情而不必做

fig1 = mtcars %>% filter(am == 1) %>%
  ggplot(aes(wt, mpg)) +
  geom_point() + 
  theme_bw(base_size = 15) + ggtitle('Theme A')

fig2 = mtcars %>% filter(am == 0) %>%
  ggplot(aes(wt, mpg)) +
  geom_point() + 
 theme_minimal(base_size = 15) + ggtitle('Theme B')

grid.arrange(fig1,fig2, ncol = 2)
Run Code Online (Sandbox Code Playgroud)

有没有办法facet在同一行代码中为参数显示不同的主题?

如果没有,即使只是为facet参数显示不同的颜色背景也会有所帮助。

r ggplot2

6
推荐指数
1
解决办法
230
查看次数

以编程方式在scale_fill_manual ggplot调用中指定颜色

我想根据特定列中给出的值为ggplot2 facet图的背景着色.使用我已经问过的先前问题的答案,我能够将我需要的东西拼凑在一起.@joran对这个问题的回答特别有用,因为它说明了创建一个单独的数据框以传递给ggplot的技术.

这一切都很好,给出了如下图所示的输出: 由地区着色的刻面

这是我用来生成上图的代码:

# User-defined variables go here

list_of_names <- c('aa','bb','cc','dd','ee','ff')
list_of_regions <- c('europe','north america','europe','asia','asia','japan')

# Libraries

require(ggplot2)
require(reshape)

# Create random data with meaningless column names
set.seed(123)
myrows <- 30
mydf <- data.frame(date = seq(as.Date('2012-01-01'), by = "day", length.out = myrows),
                   aa = runif(myrows, min=1, max=2),
                   bb = runif(myrows, min=1, max=2),
                   cc = runif(myrows, min=1, max=2),
                   dd = runif(myrows, min=1, max=2),
                   ee = runif(myrows, min=1, max=2),
                   ff = runif(myrows, min=1, max=2))

# Transform data frame from …
Run Code Online (Sandbox Code Playgroud)

r ggplot2

5
推荐指数
1
解决办法
7454
查看次数

ggplot2 facet_grid() strip_text_x() 基于因子的不同颜色

有没有办法对ggplot2 的facet_grid 中的facet 的名称或条形背景进行着色(不是实际网格的背景,正如这篇文章中所回答的: Conditionally Change panel background with facet_grid? )?

在以下示例中:

#create simple dataframe for plotting
xy <- data.frame(x = rep(1:10, times=3), y = rep(10:1, times=3), type = rep(LETTERS[1:2], each=5), type2 = rep(LETTERS[3:5], each=10), category = rep(c("control", "exp", "control"), each=10))
xy
#create base plot
plot <- ggplot(data = xy)+
geom_point(aes(x = x, y = y))+
facet_grid(type ~ type2)

#plot base plot   
plot
Run Code Online (Sandbox Code Playgroud)

有没有办法根据分类变量(例如,我在上面指定的数据框中的“类别”,因此所有控件都有一个红色条,所有的 exp - 一个绿色条)?

提前致谢!

PS我实际上想做的是展示生物实验的结果:

  • 每个基因的两个箱线图以显示变异性;基因名称在条带中

  • 网格的背景是白色或灰色,灰色显示作为对照的基因

  • 我想使用标题中文本的颜色来表示该基因在我的实验中是否重要(我需要在同一图中显示经过验证的基因和未经验证的基因)

r ggplot2

4
推荐指数
1
解决办法
4375
查看次数

在R中绘制一个二元到多个因子

首先,我还是初学者.我正在尝试用R解释并绘制一个堆栈条形图.我已经看过一些答案,但有些不是我的案例和其他我不明白的:

我有一个dvl包含五列的数据集,Variant,Region,Time,Person和PrecededByPrep.我想对Variant与其他四个预测变量进行多变量比较.每列可以具有两个可能值之一:

  • 变体:elkieder.
  • Region = VLNL.
  • 时间:timeno time
  • 人:personno person
  • PrecededByPrep:10

这是逻辑回归

从我收集的答案中,图书馆ggplot2可能是最好的绘图库.我已经阅读了它的文档,但对于我的生活,我无法弄清楚如何绘制这个:我怎样才能Variant与其他三个因素进行比较?

我花了一段时间,但我在Photoshop中做了类似于我想要的东西(虚构的价值观!).

图形

深灰色/浅灰色:Variant y轴的可能值:频率x轴:每列,细分为可能的值

我知道要制作单独的条形图,堆叠和分组,但基本上我不知道如何堆叠,分组条形图.ggplot2可以使用,但如果可以在没有我喜欢的情况下完成.

我认为这可以看作是一个样本数据集,但我并不完全确定.我是R的初学者,我读到了关于创建样本集的内容.

t <- data.frame(Variant = sample(c("iedere","elke"),size = 50, replace = TRUE),
            Region = sample(c("VL","NL"),size = 50, replace = TRUE),
            PrecededByPrep = sample(c("1","0"),size = 50, replace = TRUE),
            Person = sample(c("person","no person"),size = 50, …
Run Code Online (Sandbox Code Playgroud)

r data-visualization ggplot2

3
推荐指数
2
解决办法
1722
查看次数

如何在ggplot2中模拟将美学传递给面板背景?

我在这个堆栈溢出问题中读到了一种巧妙的方法来模拟使用geom_rect.

使用 facet_grid 有条件地更改面板背景?

不幸的是,如果您想在图中放置其他颜色,它不起作用。颜色混合,图例被污染。相反,我更希望颜色只适用于背景,而不是混合在一起。我的另一个问题是:是否有一种适用于极坐标的方法?

有关可重现的示例,请参阅以下代码:

pies <- data_frame(pie = c(rep("hawaiian", 3), rep("pepperoni", 2)), 
                   fraction = c(c(0.3, 0.2, 0.5), c(0.4, 0.6)),
                   ingredient = c("cheese", "pineapple", "ham",
                                  "peperroni", "cheese"),
                   deepdish = c(rep(TRUE, 3), rep(FALSE, 2)))

p <- pies %>%
  ggplot() +
  geom_bar(aes(x = factor(1),
               y = fraction,
               fill = ingredient),
           width = 0.6,
           stat = "identity",
           position = "fill") +
  facet_wrap(~ pie) +
  geom_rect(mapping = aes(fill = deepdish),
            alpha = 0.1,
            xmin = -Inf, xmax = Inf,
            ymin=-Inf, ymax=Inf, …
Run Code Online (Sandbox Code Playgroud)

r facet ggplot2

3
推荐指数
2
解决办法
222
查看次数

标签 统计

ggplot2 ×11

r ×11

facet ×2

data-visualization ×1

facet-grid ×1