绘制 geom_area 没有变量填充和着色线/或 geom_line 没有变量重叠
Plot geom_area with no filling and colouring lines by variable/ or geom_line without variables overlapping
据我所知,geom_area 和 geom_line 绘制变量的方式不同,因此该区域彼此重叠(它们具有不同的 y 轴起点),而 geom_line 它们不断交叉和重叠。你知道这是为什么吗?
我想要以下其中一项:
- 使用geom_area我可以不用颜色填充密度吗?
根据“案例”为所选变量的行着色?
- 或者我可以像我所做的那样使用 geom_line 但避免变量的交叉和重叠吗?
谢谢
dataA <- tibble::tibble(
value = c(10,20,30,30,20,10,5,8,10,8,7,2,9,25,28,29,15,6),
Sample = rep(c(1:6),3),
Variable = rep(c(rep("C1",6),rep("C2",6),rep("C3",6))),
Case = rep(c(rep("o",6), rep("a",6),rep("o",6))))
#This is the geom_area graph
p1 <- ggplot(dataA, aes(x=Sample, y=value, fill=Variable)) +
geom_area(colour="black", size=.2, alpha=.8) +
theme_bw()
#This is the geom_line
p2 <- ggplot(dataA, aes(x=Sample, y=value, color=Case, group = interaction(Variable,Case))) +
geom_line(colour="black") +
geom_line(data=subset(dataA, Case == "o"), colour="green4", size=1.5)
使用geom_area
:使用group
代替fill
。
ggplot(dataA, aes(x=Sample, y=value, group=Variable)) +
geom_area(colour="black", size=.2, alpha=.8, fill="white") +
theme_bw()
您还可以使用 aes(color=Case)
更改线条的颜色
在geom_area
中使用color
代替fill
library(ggplot2)
dataA <- tibble::tibble(
value = c(10,20,30,30,20,10,5,8,10,8,7,2,9,25,28,29,15,6),
Sample = rep(c(1:6),3),
Variable = rep(c(rep("C1",6),rep("C2",6),rep("C3",6))),
Case = rep(c(rep("o",6), rep("a",6),rep("o",6))))
ggplot(dataA, aes(x=Sample, y=value, group = interaction(Variable,Case))) +
geom_area(aes(colour=Case), size=.2, alpha=.8, fill = NA) +
theme_bw() +
scale_color_manual(values = c("o" = "green4", "a" = "red"))
由 reprex package (v0.3.0)
于 2020-04-20 创建
这是否回答了您的问题?
据我所知,geom_area 和 geom_line 绘制变量的方式不同,因此该区域彼此重叠(它们具有不同的 y 轴起点),而 geom_line 它们不断交叉和重叠。你知道这是为什么吗?
我想要以下其中一项:
- 使用geom_area我可以不用颜色填充密度吗? 根据“案例”为所选变量的行着色?
- 或者我可以像我所做的那样使用 geom_line 但避免变量的交叉和重叠吗?
谢谢
dataA <- tibble::tibble(
value = c(10,20,30,30,20,10,5,8,10,8,7,2,9,25,28,29,15,6),
Sample = rep(c(1:6),3),
Variable = rep(c(rep("C1",6),rep("C2",6),rep("C3",6))),
Case = rep(c(rep("o",6), rep("a",6),rep("o",6))))
#This is the geom_area graph
p1 <- ggplot(dataA, aes(x=Sample, y=value, fill=Variable)) +
geom_area(colour="black", size=.2, alpha=.8) +
theme_bw()
#This is the geom_line
p2 <- ggplot(dataA, aes(x=Sample, y=value, color=Case, group = interaction(Variable,Case))) +
geom_line(colour="black") +
geom_line(data=subset(dataA, Case == "o"), colour="green4", size=1.5)
使用geom_area
:使用group
代替fill
。
ggplot(dataA, aes(x=Sample, y=value, group=Variable)) +
geom_area(colour="black", size=.2, alpha=.8, fill="white") +
theme_bw()
您还可以使用 aes(color=Case)
在geom_area
color
代替fill
library(ggplot2)
dataA <- tibble::tibble(
value = c(10,20,30,30,20,10,5,8,10,8,7,2,9,25,28,29,15,6),
Sample = rep(c(1:6),3),
Variable = rep(c(rep("C1",6),rep("C2",6),rep("C3",6))),
Case = rep(c(rep("o",6), rep("a",6),rep("o",6))))
ggplot(dataA, aes(x=Sample, y=value, group = interaction(Variable,Case))) +
geom_area(aes(colour=Case), size=.2, alpha=.8, fill = NA) +
theme_bw() +
scale_color_manual(values = c("o" = "green4", "a" = "red"))
由 reprex package (v0.3.0)
于 2020-04-20 创建这是否回答了您的问题?