R 如何使独立向量在组中彼此并排出现?
我正在学习这个故事。我已经做了一个我几乎满意的情节,还有一个细节需要修正 我的数据如下:R 如何使独立向量在组中彼此并排出现?,r,ggplot2,R,Ggplot2,我正在学习这个故事。我已经做了一个我几乎满意的情节,还有一个细节需要修正 我的数据如下: gIN <- c("A_1","A_2","A_3","A_4","B_1","B_2","B_3","B_4","B_5","C_1","C_2","C_3") bc <- c(1219.79, 1486.84, 1255.80, 941.87, 588.19, 304.02, 279.71, 373.40, 179.89, 385.02, 218.76, 423.33) bc2 <-
gIN <- c("A_1","A_2","A_3","A_4","B_1","B_2","B_3","B_4","B_5","C_1","C_2","C_3")
bc <- c(1219.79, 1486.84, 1255.80, 941.87, 588.19, 304.02, 279.71, 373.40, 179.89, 385.02, 218.76, 423.33)
bc2 <- c(319.79, 186.84, 125.80, 94.87, 1008.19, 314.02, 500.71, 600.40, 900.89, 38.02, 1000.76, 500.33)
group <- c("A","A","A","A","B","B","B","B","B","C","C","C")
ex <- data.frame("gIN" = gIN, "bc" = bc, "bc2"=bc2, "group" = group)
绘图:
如您所见,A组看起来不错,因为蓝线和红线是分开的,但当值重叠时(如B组和C组),就不可能清楚地看到数据
有人知道如何更改命令以将每个向量并排放置而不是叠加吗
谢谢。这里有一个可能的解决方案,包括使用
melt()
重新排列数据,并使用分类x轴分隔“bc”和“bc2”数据类型。另一个好处是绘图代码本身更易于编写
library(ggplot2)
library(reshape2)
mdat = melt(ex, id.vars=c("gIN", "group"), value.vars=c("bc", "bc2"))
head(mdat)
# gIN group variable value
# 1 A_1 A bc 1219.79
# 2 A_2 A bc 1486.84
# 3 A_3 A bc 1255.80
# 4 A_4 A bc 941.87
# 5 B_1 B bc 588.19
# 6 B_2 B bc 304.02
p = ggplot(mdat, aes(x=variable, y=value, colour=variable)) +
geom_point() +
geom_line() +
facet_grid(. ~ group)
library(ggplot2)
library(reshape2)
mdat = melt(ex, id.vars=c("gIN", "group"), value.vars=c("bc", "bc2"))
head(mdat)
# gIN group variable value
# 1 A_1 A bc 1219.79
# 2 A_2 A bc 1486.84
# 3 A_3 A bc 1255.80
# 4 A_4 A bc 941.87
# 5 B_1 B bc 588.19
# 6 B_2 B bc 304.02
p = ggplot(mdat, aes(x=variable, y=value, colour=variable)) +
geom_point() +
geom_line() +
facet_grid(. ~ group)