Trochę manualną wersji zastosowaniem zasady grafiki R tylko dla zabawy.
Pobierz dane:
test <- read.table(text="STM_cold STM_normal STM_hot PIC_cold PIC_normal PIC_hot
6.0 6.6 6.3 0.9 1.9 3.2
6.0 6.6 6.5 1.0 2.0 3.2
5.9 6.7 6.5 0.3 1.8 3.2
6.1 6.8 6.6 0.2 1.8 3.8
5.5 6.7 6.2 0.5 1.9 3.3
5.6 6.5 6.5 0.2 1.9 3.5
5.4 6.8 6.5 0.2 1.8 3.7
5.3 6.5 6.2 0.2 2.0 3.5
5.3 6.7 6.5 0.1 1.7 3.6
5.7 6.7 6.5 0.3 1.7 3.6
NA NA NA 0.1 1.8 3.8
NA NA NA 0.2 2.1 4.1
NA NA NA 0.2 1.8 3.3
NA NA NA 0.8 1.7 3.5
NA NA NA 1.7 1.6 4.0
NA NA NA 0.1 1.7 3.7",header=TRUE)
Skonfiguruj podstawowe działki:
plot(
NA,
ylim=c(0,max(test,na.rm=TRUE)+0.3),
xlim=c(1-0.1,ncol(test)+0.1),
xaxt="n",
ann=FALSE,
panel.first=grid()
)
axis(1,at=seq_along(test),labels=names(test),lwd=0,lwd.ticks=1)
Plot niektórych punktach, z pewnymi osi x jitter
ing więc nie są one drukowane na górze siebie.
invisible(
mapply(
points,
jitter(rep(seq_along(test),each=nrow(test))),
unlist(test),
col=rep(seq_along(test),each=nrow(test)),
pch=19
)
)
Wynik:
edit
Oto przykład za pomocą przezroczystości alfa na punkty i pozbycie się jitter
jak omówiono w poniższych uwag Ananda.
invisible(
mapply(
points,
rep(seq_along(test),each=nrow(test)),
unlist(test),
col=rgb(0,0,0,0.1),
pch=15,
cex=3
)
)
Dzięki, że jest świetny. Czy istnieje sposób na ustawienie innego kształtu dla każdej z różnych wartości osi X? – user1192748
tak, po prostu użyj 'shape = variable' wewnątrz' aes' jak 'colour'. – Arun
+1. Nie jestem zwykłym użytkownikiem ggplot2, więc zawsze miło jest zobaczyć alternatywne opcje, które są dostępne w użyciu. Jednak kilka krytyk. Po pierwsze, czy legenda jest naprawdę potrzebna w tym przypadku? Nie widzę żadnej wartości dodanej dla tego konkretnego przykładu. Jeśli w * każdej zmiennej znajdują się dalsze grupy *, może być sens mieć różne kolory lub kształty i legendę. Po drugie, czy można bardziej kontrolować jittera? Uważam, że nieco rozprasza to, jak drgania pozostawiają duże dziury dla niektórych zmiennych, ale sprawiają, że inni wydają się bardziej skupieni. – A5C1D2H2I1M1N2O1R2T1