Perhatikan grafik berikut:
x <- 1:100
y1 <- rnorm(100)
y2 <- rnorm(100)+100
par(mar=c(5,5,5,5))
plot(x,y1,pch=0,type="b",col="red",yaxt="n",ylim=c(-8,2),ylab="")
axis(side=2, at=c(-2,0,2))
mtext("red line", side = 2, line=2.5, at=0)
par(new=T)
plot(x,y2,pch=1,type="b",col="blue",yaxt="n",ylim=c(98,108), ylab="")
axis(side=4, at=c(98,100,102), labels=c("98%","100%","102%"))
mtext("blue line", side=4, line=2.5, at=100)
Bagaimana saya bisa menghapus batas yang dibuat secara otomatis dan mempertahankan hanya garis sumbu, untuk mencapai gaya Tufte?
r
data-visualization
Hugo Sereno Ferreira
sumber
sumber
bty
argumen di?par
, misalnyabty="n"
,. Anda dapat meneruskan argumen ini dalam panggilan Anda keplot
.Jawaban:
Tambahkan
bty="n"
di kedua perintah plot.Untuk deret waktu, tambahkan
frame.plot=FALSE
untuk efek yang sama.Untuk sumbu Tufte yang lebih bagus, lihat http://www.cl.cam.ac.uk/~sjm217/projects/graphics/
sumber
Ini mudah dilakukan, Anda cukup memasukkan argumen
axes=FALSE
. Mempertimbangkan:Perhatikan bahwa ini bekerja dengan baik untuk histogram:
sumber
Jika Anda menggunakan
Sebelum memanggil plot yang akan memperbaikinya untuk kebun binatang. Mungkin juga memperbaikinya untuk berbagai situasi di mana ia tidak bisa dilewati oleh perintah plotting.
(Lihat opsi bty di par () bantuan untuk jenis bingkai lain untuk plot)
sumber
Saya menjawab pertanyaan yang lebih umum tentang menghilangkan batas dalam plot, tanpa merujuk ke Tufte.
Untuk histogram saya tidak menemukan bahwa btn = 'n' menyingkirkan perbatasan.
Solusi yang berfungsi untuk histogram dan harus bekerja untuk semua jenis plot adalah dengan menetapkan tipe garis untuk perbatasan menjadi tidak terlihat: lty = "blank"
sumber