কনট্যুর / হিট ওভারলে সহ স্ক্র্যাটারপ্ল্লট


23

আমি দেখেছি এই চক্রান্ত একটি এর সম্পূরক মধ্যে সাম্প্রতিক কাগজ এবং আমি আর এটা একটা scatterplot ব্যবহার করে এটি পুনর্গঠন পাবে ভালোবাসতাম, কিন্তু overplotting হয় কনট্যুর লাইন যে "তাপ" লাল নীল রঙের সংশ্লিষ্ট হয় ঠিক করতে overplotting ঘনত্ব আমি এই কিভাবে করব?

এখানে চিত্র বর্ণনা লিখুন


5
এই স্ট্যাকওভারফ্লো প্রশ্নগুলি স্ক্রেটারপ্লট + পয়েন্ট সহ এই ধরণের প্লটের জন্য বেশ কয়েকটি ggplot2 বিকল্প দেখায় ।
ran

উত্তর:


30

কেবল স্টাফ আঁকার জন্য বেস ফাংশনগুলি ব্যবহার করে এখানে আমার নেওয়া হল:

library(MASS)  # in case it is not already loaded 
set.seed(101)
n <- 1000
X <- mvrnorm(n, mu=c(.5,2.5), Sigma=matrix(c(1,.6,.6,1), ncol=2))

## some pretty colors
library(RColorBrewer)
k <- 11
my.cols <- rev(brewer.pal(k, "RdYlBu"))

## compute 2D kernel density, see MASS book, pp. 130-131
z <- kde2d(X[,1], X[,2], n=50)

plot(X, xlab="X label", ylab="Y label", pch=19, cex=.4)
contour(z, drawlabels=FALSE, nlevels=k, col=my.cols, add=TRUE)
abline(h=mean(X[,2]), v=mean(X[,1]), lwd=2)
legend("topleft", paste("R=", round(cor(X)[1,2],2)), bty="n")

এখানে চিত্র বর্ণনা লিখুন

আরও অভিনব রেন্ডারিংয়ের জন্য, আপনি ggplot2 এবং এ একবার দেখতে চান stat_density2d()। আমি পছন্দ করি এমন অন্য ফাংশনটি হ'ল smoothScatter():

smoothScatter(X, nrpoints=.3*n, colramp=colorRampPalette(my.cols), pch=19, cex=.8)

এখানে চিত্র বর্ণনা লিখুন


2
যদি কেউ কনট্যুর প্লটকে নির্দিষ্ট কোয়ান্টাইলস / পারসেন্টাইল / ডেসাইলগুলি (বা আপনার কাছে কী) অন্তর্ভুক্ত করতে পারে তবে এটি নিয়ন্ত্রণ করতে পারে nice
রোমান Luštrik

উদ্বেগজনক, আমি দীর্ঘদিন ধরে স্মিথের সন্ধান করছি, ভাল মানের প্লট
ডাব্লুএইচ

26

কেউ এর জন্য ggplot2 পরামর্শ দেয়নি ??

library(MASS)
library(ggplot2)
n <- 1000
x <- mvrnorm(n, mu=c(.5,2.5), Sigma=matrix(c(1,.6,.6,1), ncol=2))
df = data.frame(x); colnames(df) = c("x","y")

commonTheme = list(labs(color="Density",fill="Density",
                        x="RNA-seq Expression",
                        y="Microarray Expression"),
                   theme_bw(),
                   theme(legend.position=c(0,1),
                         legend.justification=c(0,1)))

ggplot(data=df,aes(x,y)) + 
  geom_density2d(aes(colour=..level..)) + 
  scale_colour_gradient(low="green",high="red") + 
  geom_point() + commonTheme

যা নিম্নলিখিত উত্পাদন করে:

উদাহরণ 1

তবে অন্যান্য জিনিসগুলি খুব সহজেই করা যায় যেমন নীচের মত:

ggplot(data=df,aes(x,y)) + 
  stat_density2d(aes(fill=..level..,alpha=..level..),geom='polygon',colour='black') + 
  scale_fill_continuous(low="green",high="red") +
  geom_smooth(method=lm,linetype=2,colour="red",se=F) + 
  guides(alpha="none") +
  geom_point() + commonTheme

যা নিম্নলিখিত উত্পাদন করে:

এখানে চিত্র বর্ণনা লিখুন

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.