كيف يمكن للمرء أن يتغلب على نقاط تداخل دون ارتعاش أو شفافية في GGPLOT2

StackOverflow https://stackoverflow.com/questions/2502485

  •  21-09-2019
  •  | 
  •  

سؤال

بدأت في استخدام GGPLOT2. لدي بعض البيانات الحبيبية الصغيرة (حوالي 30 أو نحو ذلك) مع الكثير من التداخل. لا تهرب ولا ألفا (الشفافية) مناسبة. بدلاً من ذلك ، يقوم StripChart مع Stack و Offset بذلك بشكل أفضل ، لكنني لا أعرف كيفية القيام بذلك في GGPLOT2. هل تعرف؟

لمعرفة ما يجب أن تنقر على النتيجة النهائية على هذا رسم.

هذا هو البرنامج النصي الذي استخدمته قبل بضع سنوات.

stripchart(SystData$DayTo1Syst~SystData$strain,vertical=TRUE,method="stack",pch=19,offset=.3,xlab="Strain",main="Rapidity of Systemic Disease Onset",ylab="Days post inoculation")
هل كانت مفيدة؟

المحلول

# your data
df <- data.frame(gp = rep(LETTERS[1:5], each =8), y = sample(1:4,40,replace=TRUE))
# calculate offsets
df <- ddply(df, .(y, gp), transform, offset = (1:length(gp)-1)/20)
qplot(gp, y, data=df) + stat_identity(aes(as.numeric(gp)+offset)) + theme_bw() 

نصائح أخرى

يمكنك استخدام position_dodge.

df <- data.frame(gp = rep(LETTERS[1:5], each =8), 
                 y = sample(1:4,40,replace=TRUE))
qplot(gp,y,data=df,order=y,position=position_dodge(width=0.5))

alt text http://img100.imageshack.us/img100/8760/dodgel.png

تريد استخدامها geom_dotplot من GGPLOT2

ربما تريد استخدام:

ggplot(insert your arguments here) + geom_dotplot(binaxis = "y", stackdir = "center")

أتمنى أن يساعدك هذا. ستبدو النتائج نظيفة حقًا وهو ما أعتقد أنه تريده.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top