Много-теоретические CDF-оверлайны на одном эмпирическом CDF-графике с использованием R - PullRequest
0 голосов
/ 10 июля 2019

У меня есть наблюдаемая выборка, которая была смоделирована с 7 различными распределениями. Я хотел бы показать эмпирическую функцию распределения (Ecdf) и соответствующие Ecdf на одном графике для случая, когда этот график должен быть узнаваемым для публикации в неокрашенном журнале. Мне также интересно увидеть ответ, когда нам разрешат использовать цвета. Данные можно скачать с Загрузка данных

Я использовал следующие коды, которые я хотел бы изменить, чтобы сделать их более различимыми при черно-белой печати.

#plot x vs F(x)
fun.ecdf <- ecdf(my.obs1)
my.ecdf <- fun.ecdf(sort(my.obs1))
plot(sort(my.obs1),my.ecdf,type="l",lwd=3,xlab="x=area",ylab="F(x)")
lines(sort(my.obs1),y1,lty=2,lwd=2,col=116)
lines(sort(my.obs1),y2,lty=3,lwd=2,col=142)
lines(sort(my.obs1),y3,lty=4,lwd=2,col=96)
lines(sort(my.obs1),y4,lty=5,lwd=2,col=504)
lines(sort(my.obs1),y5,lty=6,lwd=2,col=259)
lines(sort(my.obs1),y6,lty=7,lwd=2,col=373)
lines(sort(my.obs1),y7,lty=8,lwd=2,col=370)
legend(45,0.85, legend = c("empirical distribution","dist A", 
"distB","distC","distD","distE","distF","distG"),
col="black",116,142,96,504,259,373,370),
lty = 1:8, cex = 0.8)  

1 Ответ

0 голосов
/ 10 июля 2019

Я думаю, вы просто хотите выше, но в черно-белом, в этом случае ggplot2 'theme_bw позаботится об этом.

library(ggplot2)
library(reshape)
library(plotly)
data1<-data1[complete.cases(data1),]
data1$my.obs1<-sort(data1$my.obs1)
fun.ecdf <- ecdf(data1$my.obs1)
data1<-
data1%>%
  mutate(.,'empirical distribution'=fun.ecdf(sort(my.obs1)))%>%
  melt(.,id.vars="my.obs1")
ggplot(data1,aes(x=my.obs1,y=value,linetype=variable))+geom_line( size = 1)+theme_bw()+
  theme(legend.position=c(1,1), legend.justification=c(1.3,1.4),
        panel.border = element_rect(colour = "black", fill=NA),
        legend.box.background = element_rect(colour = "black"),
        legend.background = element_blank())+
 labs(linetype="distributions")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...