हैलो, मैं भेजे गए दो अलग-अलग डेटा के लिए ggplot का उपयोग करके और विरिडिस रंग ढाल का उपयोग करके दो ग्राफ तैयार कर रहा हूं। डेटा के कारण दो ग्राफ रंग ढाल अलग हैं, इसलिए मैं इसे वही बनाना चाहता था, क्या कोई मुझे सुझाव दे सकता है?

आंकड़े

https://drive.google.com/file/d/1HUbEQMjIS3ybYuKUaVXT9M_f4ZR-BQXt/view?usp=sharing

कोड जो मैंने इस्तेमाल किया

library("viridis") 

df=read.table("test.txt",sep='\t', header=TRUE)
df = data.frame(df)

#first data
df$log_mean=log(df$data1)
df$data3=log2(df$data3)
df$data2=log2(df$data2)
#second data
df$log_mean2=log(df$df1)
df$df3=log2(df$df3)
df$df2=log2(df$df2)


#plot1
p1=ggplot(df, aes(data3,data2),pch=19,cex=1.9)+
  geom_point(aes(color =log_mean)) +
  theme(legend.position = "top")+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"))+
  theme(text = element_text(size = 20, face="bold"))

#plot2
p2=ggplot(df, aes(df3,df2),pch=19,cex=1.9)+
  geom_point(aes(color =log_mean2)) +
  theme(legend.position = "top")+
  theme(panel.grid.major = element_blank(), panel.grid.minor = element_blank(),
        panel.background = element_blank(), axis.line = element_line(colour = "black"))+
  theme(text = element_text(size = 20, face="bold"))

#viridis color
p1+scale_color_viridis(option = "C")
p2+scale_color_viridis(option = "C")
0
Hemantchandru naik 13 सितंबर 2020, 11:28

1 उत्तर

सबसे बढ़िया उत्तर

यह दोनों भूखंडों में रंग पैमाने के लिए समान सीमा निर्धारित करके प्राप्त किया जा सकता है।

उदाहरण डेटासेट के रूप में mtcars का उपयोग करके इसे आजमाएं:

library(ggplot2)
library(dplyr)

mtcars1 <- filter(mtcars, cyl == 4)
mtcars2 <- filter(mtcars, cyl == 6)

p1 <- ggplot(mtcars1, aes(hp, mpg, color = mpg)) +
  geom_point()

p2 <- ggplot(mtcars2, aes(hp, mpg, color = mpg)) +
  geom_point()

p1 + scale_color_viridis_c(limits = c(18, 33))

p2 + scale_color_viridis_c(limits = c(18, 33))

संपादित करें:

अपने डेटा के लिए आप उपयोग कर सकते हैं उदा।

p1 + scale_color_viridis(option = "C", limits = c(-1, 8))
p2 + scale_color_viridis(option = "C", limits = c(-1, 8))

जो देता है:

enter image description here

2
stefan 13 सितंबर 2020, 12:16