Yalnızca renklendirmeyle ayırt edilmesi zor olan bazı zaman noktalarıyla bir çizgi grafiğim var ve bu nedenle çizimdeki zaman noktalarını etiketlemek istiyorum, ancak etiketler çakışıyor (aşağıdaki tabloya bakınız) Etiketleri okumak zor olduğu bir şekilde. 'Yığın' etiket veya bunların üst üste gelmemesine sağlayabilirsiniz bir şekilde (script) için bir yol olup olmadığınıgeom_point kullanarak metni geom_text kullanarak düzenleyin
arsa anda bu gibi bakmak,
merak ediyorum. Herhangi bir yardım mutluluk duyacağız
böyle bir şey. İşte
require(ggplot2)
require(plyr)
require(reshape)
# create sample data
set.seed(666)
dfn <- data.frame(
Referral = seq(as.Date("2007-01-15"), len= 26, by="23 day"),
VISIT01 = seq(as.Date("2008-06-15"), len= 24, by="15 day")[sample(30, 26)],
VISIT02 = seq(as.Date("2008-12-15"), len= 24, by="15 day")[sample(30, 26)],
VISIT03 = seq(as.Date("2009-01-01"), len= 24, by="15 day")[sample(30, 26)],
VISIT04 = seq(as.Date("2009-03-30"), len= 24, by="60 day")[sample(30, 26)],
VISIT05 = seq(as.Date("2010-11-30"), len= 24, by="6 day")[sample(30, 26)],
VISIT06 = seq(as.Date("2011-01-30"), len= 24, by="6 day")[sample(30, 26)],
Discharge = seq(as.Date("2012-03-30"), len= 24, by="30 day")[sample(30, 26)],
Patient = factor(1:26, labels = LETTERS),
openCase = rep(0:1, 100)[sample(100, 26)])
# set today's data for cases that do not have an Discharge date
dfn$Discharge[ is.na(dfn$Discharge) ] <- as.Date("2014-01-30")
mdfn <- melt(dfn, id=c('Patient', 'openCase'), variable_name = "Visit")
names(mdfn)[4] <- 'Year' # rename
# order data in mdfn by 'Referral' in dfn
mdfn$Patient <- factor(mdfn$Patient,levels =
(dfn$Patient[order(dfn$Referral)]),ordered = TRUE)
# subset a dataset to avoid 'Discharge' for cases that are not closed
mdfn2 <- subset(mdfn,!(Visit=="Discharge" & Year > as.Date("2014-01-01")))
# the plot as it looks now
ggplot(mdfn, aes(Year, Patient)) +
geom_blank() +
geom_line(data = mdfn[mdfn$openCase == 0,], colour = "black") +
geom_line(data = mdfn[mdfn$openCase == 1,], colour = "grey") +
geom_point(data = mdfn2, aes(colour = Visit), size = 4, shape = 124) +
geom_text(data=mdfn2, mapping=aes(x=Year, y=Patient,
label=substr(Visit, 1, 7), colour=Visit), size=2,
vjust=-.4, hjust=-.1, angle = 00)
Eksik fonksiyonları, tekrarlanabilir değil verilerin eksik. –
Bunu nasıl yapacağımı bilmiyorum ama gerçekten etiketlere mi ihtiyacınız var? Bu bilgiyi sağlayan bir efsane zaten var. –
[R] 'deki akıllı işaret etiketinin olası kopyası (http://stackoverflow.com/questions/7611169/intelligent-point-label-placement-in-r) – joran