سؤال

وأنا أحاول أن استخدام ggplot2 لخلق وتسمية مخطط التشتت. المتغيرات التي أنا بالتآمر على حد سواء تحجيم بحيث الأفقي والمحور الرأسي يتم رسم في وحدات الانحراف المعياري (1،2،3،4، ... إلخ من الوسط). ما أود أن تكون قادرة على القيام به هو تسمية فقط تلك العناصر التي تتجاوز حدا معينا من الانحرافات المعيارية من الوسط. من الناحية المثالية، سوف تستند هذه العلامات الخروج من عمود آخر من البيانات.

هل هناك طريقة للقيام بذلك؟

ولقد بدا من خلال دليل على الانترنت، ولكن لم أكن قادرا على العثور على أي شيء حول تعريف تسميات البيانات المرسومة.

ويحظى بتقدير مساعدة!

وشكرا!

وBEB

هل كانت مفيدة؟

المحلول

استخدم subsetting:

library(ggplot2)
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- letters[1:10]
ggplot(data=x, aes(a, b, label=lab)) + 
  geom_point() + 
  geom_text(data = subset(x, abs(b) > 0.2), vjust=0)

نصائح أخرى

ويمكن أن يتم وصفها على النحو التالي:

library("ggplot2")
x <- data.frame(a=1:10, b=rnorm(10))
x$lab <- rep("", 10)   # create empty labels
x$lab[c(1,3,4,5)] <- LETTERS[1:4]   # some labels
ggplot(data=x, aes(x=a, y=b, label=lab)) + geom_point() + geom_text(vjust=0)

وSubsetting خارج وظيفة ggplot:

library(ggplot2)
set.seed(1)
x <- data.frame(a = 1:10, b = rnorm(10))
x$lab <- letters[1:10]
x$lab[!(abs(x$b) > 0.5)] <- NA
ggplot(data = x, aes(a, b, label = lab)) + 
  geom_point() + 
  geom_text(vjust = 0) 

وعن طريق qplot:

qplot(a, b, data = x, label = lab, geom = c('point','text'))
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top