Saya merencanakan yang berikut ini:
library(ggplot2)
carrots <- data.frame(length = rnorm(500000, 10000, 10000))
cukes <- data.frame(length = rnorm(50000, 10000, 20000))
carrots$veg <- 'carrot'
cukes$veg <- 'cuke'
vegLengths <- rbind(carrots, cukes)
ggplot(vegLengths, aes(length, fill = veg)) +
geom_density(alpha = 0.2)
Sekarang katakan saya hanya ingin memplot wilayah antara x=-5000
ke 5000
, bukan seluruh rentang.
Bagaimana saya bisa melakukan itu?
library(scales); ... + scale_x_continuous(limits = c(-5000, 5000), oob=squish)
(standarnya adalahoob=censor
); lihat?squish
,?censor
: groups.google.com/forum/#!topic/ggplot2/AsJ6xpmR9tUcoord_cartesian
pendekatan ini?coord_cartesian(xlim =
Anda mungkin perlu mengatur ulangylim
juga, dan mengatur ulang label dan kisi-kisi.Catatan cepat: jika Anda juga menggunakan
coord_flip()
untuk membalik x dan sumbu y, Anda tidak akan dapat menetapkan batas batas menggunakancoord_cartesian()
karena kedua fungsi tersebut eksklusif (lihat di sini ).Untungnya, ini adalah perbaikan yang mudah; atur batas Anda menjadi
coord_flip()
seperti ini:Ini hanya mengubah rentang yang terlihat (yaitu tidak menghapus titik data).
sumber