繁体   English   中英

在 R 中使用 ggplot2 覆盖散布 plot

[英]Overlying scatter plot using ggplot2 in R

我想过度分散 plot 如下,但是第一个分散 plot 在第二个 plot 被绘制之后消失了虽然我写了 par(new =TRUE) 有人知道该怎么做吗?

library(readr)
library(ggplot2)
library(dplyr)
library("data.table")

file <-"1.txt"
df <-fread(file,header=T,data.table=FALSE) 
mode(df[,2]) <- "numeric"
mode(df[,3]) <- "numeric"
colnames(df) <- c("ID","Number","Scale")

plot <- ggplot(df,aes(x=df[,3],y=df[,2]))
plot <- plot + geom_point(color="red",size=1)

plot <- plot + theme_bw()
plot <- plot + xlab("Scale")
plot <- plot + ylab("Number")
plot <- plot + theme(panel.border=element_blank(),axis.line=element_line(colour="black"),axis.text=element_text(size=8))
plot <- plot + coord_fixed() 
plot
par(new = TRUE) 
file2 <-"2.txt"
df <-fread(file2,header=T,data.table=FALSE) 
mode(df2[,2]) <- "numeric"
mode(df2[,3]) <- "numeric"
colnames(df2) <- c("ID","Number","Scale")

plot <- ggplot(df2,aes(x=df[,3],y=df[,2]))
plot <- plot + geom_point(color="black",size=1)

plot <- plot + theme_bw()
plot <- plot + xlab("Scale")
plot <- plot + ylab("Number")
plot <- plot + theme(panel.border=element_blank(),axis.line=element_line(colour="black"),axis.text=element_text(size=8))
plot <- plot + coord_fixed() 
plot

文件一:

ID  Number  Scale
1   0.317949    0.351713714
2   0.40617 0.451713593
3   0.224795    0.743477906
4   0.352782    0.171798387
5   0.41111 0.51543521
6   0.38464 0.27841593

文件二:

ID  Number  Scale
1   0.425495    0.498275794
2   0.317949    0.351713714
3   0.458778    0.435448291
4   0.225754    0.756472645
5   0.352782    0.171798387
6   0.41111 0.51543521

先感谢您!

par用于基本 R plot。 对于ggplot2 ,您可以使用以下代码

library(ggpubr)
library(ggplot2)
library(dplyr)
library("data.table")

df1 <-read.table(text = "ID  Number  Scale
1   0.317949    0.351713714
2   0.40617 0.451713593
3   0.224795    0.743477906
4   0.352782    0.171798387
5   0.41111 0.51543521
6   0.38464 0.27841593", header = T)
 
plot1 <-ggplot(df1,aes(x=Scale, y=Number)) + 
  geom_point(color="red",size=1) + theme_bw() + 
  xlab("Scale") + ylab("Number")+ 
  theme(panel.border=element_blank(),axis.line=element_line(colour="black"),axis.text=element_text(size=8)) 

plot1

df2 <- read.table(text = "ID  Number  Scale
1   0.425495    0.498275794
2   0.317949    0.351713714
3   0.458778    0.435448291
4   0.225754    0.756472645
5   0.352782    0.171798387
6   0.41111 0.51543521", header = T)

plot2 <-ggplot(df2,aes(x=Scale, y=Number)) + 
  geom_point(color="black",size=1) + theme_bw() + 
  xlab("Scale") + ylab("Number")+ 
  theme(panel.border=element_blank(),axis.line=element_line(colour="black"),axis.text=element_text(size=8))

plot2
ggarrange(plot1, plot2)

在此处输入图像描述

如果你想覆盖一个散点 plot 一个另一个然后使用

df1 <-read.table(text = "ID1  Number1  Scale1
1   0.317949    0.351713714
2   0.40617 0.451713593
3   0.224795    0.743477906
4   0.352782    0.171798387
5   0.41111 0.51543521
6   0.38464 0.27841593", header = T)
 
df2 <- read.table(text = "ID2  Number2  Scale2
1   0.425495    0.498275794
2   0.317949    0.351713714
3   0.458778    0.435448291
4   0.225754    0.756472645
5   0.352782    0.171798387
6   0.41111 0.51543521", header = T)

df <- cbind.data.frame(df1, df2)

ggplot(df,aes(x=Scale1, y=Number1)) + 
  geom_point(color="red",size=1) + 
  geom_point(aes(x=Scale2, y=Number2)) + theme_bw() + 
  xlab("Scale") + ylab("Number")+ 
  theme(panel.border=element_blank(),axis.line=element_line(colour="black"),axis.text=element_text(size=8))

在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM