Pertanyaan 2 dan 3 Anda jawab sendiri - palet pembuat bir berwarna cocok. Pertanyaan yang sulit adalah 1, tapi seperti Nick, aku khawatir itu didasarkan pada harapan yang salah. Warna garis bukanlah yang membuat seseorang dapat membedakan antara garis dengan mudah, itu didasarkan pada kontinuitas dan seberapa berliku garis itu. Dengan demikian ada pilihan berdasarkan desain, selain warna atau pola garis putus-putus, yang akan membantu membuat plot lebih mudah untuk ditafsirkan.
Saya akan mencuri salah satu diagram Frank yang menunjukkan fleksibilitas splines untuk memperkirakan berbagai fungsi berbentuk berbeda pada domain terbatas sebagai contoh.
#code adapted from http://biostat.mc.vanderbilt.edu/wiki/pub/Main/RmS/rms.pdf page 40
library(Hmisc)
x <- rcspline.eval(seq(0,1,.01), knots=seq(.05,.95,length=5), inclx=T)
xm <- x
xm[xm > .0106] <- NA
x <- seq(0,1,length=300)
nk <- 6
set.seed(15)
knots<-seq(.05,.95,length=nk)
xx<-rcspline.eval(x,knots=knots,inclx=T)
for(i in 1:(nk−1)){
xx[,i]<-(xx[,i]−min(xx[,i]))/
(max(xx[,i])−min(xx[,i]))
for(i in 1:20){
beta<-2∗runif(nk−1)−1
xbeta<-xx%∗%beta+2∗runif(1)−1
xbeta<-(xbeta−min(xbeta))/
(max(xbeta)−min(xbeta))
if (i==1){
id <- i
MyData <- data.frame(cbind(x,xbeta,id))
}
else {
id <- i
MyData <- rbind(MyData,cbind(x,xbeta,id))
}
}
}
MyData$id <- as.factor(MyData$id)
Sekarang ini menghasilkan 20 baris yang kusut, tantangan yang sulit untuk divisualisasikan.
library(ggplot2)
p1 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line()
p1
Berikut adalah plot yang sama dalam kelipatan kecil, dengan ukuran yang sama, menggunakan panel yang dibungkus. Sedikit lebih sulit untuk membuat perbandingan antar panel, tetapi bahkan dalam ruang yang menyusut, akan lebih mudah untuk memvisualisasikan bentuk garis.
p2 <- p1 + facet_wrap(~id) + scale_x_continuous(breaks=c(0.2,0.5,0.8))
p2
Satu hal yang Stephen Kosslyn buat dalam buku-bukunya adalah bahwa bukan berapa banyak garis yang berbeda membuat plot menjadi rumit, melainkan berapa banyak jenis bentuk garis yang dapat diambil. Jika 20 panel menjadi terlalu kecil, Anda sering dapat mengurangi set ke lintasan yang sama untuk ditempatkan di panel yang sama. Masih sulit untuk membedakan antara garis-garis dalam panel, menurut definisi mereka akan berdekatan setiap kali dan tumpang tindih, tetapi mengurangi kompleksitas membuat antara perbandingan panel cukup sedikit. Di sini saya sewenang-wenang mengurangi 20 baris menjadi 4 pengelompokan terpisah. Ini memiliki manfaat tambahan bahwa pelabelan garis secara langsung lebih sederhana, ada lebih banyak ruang di dalam panel.
###############1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20
newLevels <- c(1,1,2,2,2,2,2,1,1, 2, 3, 3, 3, 3, 2, 4, 1, 1, 2, 1)
MyData$idGroup <- factor(newLevels[MyData$id])
p3 <- ggplot(data = MyData, aes(x = x, y = V2, group = id)) + geom_line() +
facet_wrap(~idGroup)
p3
Ada ungkapan umum yang berlaku untuk situasi ini, jika Anda fokus pada semua yang Anda fokuskan pada apa pun . Dalam kasus dengan hanya sepuluh garis, Anda memiliki (10*9)/2=45
pasangan garis yang memungkinkan untuk dibandingkan. Kami mungkin tidak tertarik pada semua 45 perbandingan di sebagian besar keadaan, kami entah tertarik untuk membandingkan garis tertentu satu sama lain atau membandingkan satu baris dengan distribusi sisanya. Jawaban Nick menunjukkan yang terakhir dengan baik. Menggambar garis latar belakang tipis, berwarna terang, dan semi-transparan, dan kemudian menggambar garis latar depan dengan warna cerah dan lebih tebal akan cukup. (Juga untuk perangkat, pastikan untuk menggambar garis latar depan di atas garis lainnya!)
Jauh lebih sulit untuk membuat layering di mana setiap garis individu dapat dengan mudah dibedakan dalam kusut. Salah satu cara untuk mencapai diferensiasi latar depan-latar belakang dalam kartografi adalah penggunaan bayangan, (lihat makalah ini oleh Dan Carr untuk contoh yang baik). Ini tidak akan menskala hingga 10 baris, tetapi dapat membantu untuk 2 atau 3 baris. Berikut ini adalah contoh untuk lintasan di Panel 1 menggunakan Excel!
Ada poin lain yang harus dibuat, seperti garis abu-abu terang bisa menyesatkan jika Anda memiliki lintasan yang tidak mulus. Misalnya Anda dapat memiliki dua lintasan dalam bentuk X, atau dua dalam bentuk satu sisi kanan atas dan ke bawah V. Menggambar mereka dengan warna yang sama Anda tidak akan dapat melacak garis, dan inilah mengapa beberapa orang menyarankan menggambar plot koordinat paralel menggunakan garis halus atau jittering / off-setting titik ( Graham dan Kennedy, 2003 ; Dang et al., 2010 ).
Jadi saran desain dapat berubah tergantung pada tujuan akhir dan sifat data. Tetapi ketika membuat perbandingan bivariat antara lintasan merupakan hal yang menarik, saya pikir pengelompokan lintasan yang sama dan menggunakan kelipatan kecil membuat plot lebih mudah untuk diinterpretasikan dalam berbagai keadaan. Saya merasa ini umumnya lebih produktif daripada kombinasi warna / garis garis akan di plot yang rumit. Plot panel tunggal dalam banyak artikel jauh lebih besar dari yang seharusnya, dan membelah menjadi 4 panel biasanya dimungkinkan dalam batasan halaman tanpa banyak kerugian.