2015-12-18 15 views
5

Tôi muốn âm mưu, với ggplot2, một ma trận nhầm lẫn như thế này:geom_raster() không có đệm và không có huyền thoại

# Original data 
samples <- t(rmultinom(50, size = 7, prob = rep(0.1,10))) 

# Co-ocurrence matrix 
coincidences <- sapply(1:ncol(samples), function(i){ colSums(samples[,i]==samples) }) 

Nếu tôi sử dụng geom_roster:

p <- ggplot(melt(coincidences), aes(Var1,Var2, fill=value)) + geom_raster() 

tôi có được điều này: enter image description here

Làm cách nào để có được điều này? (không có truyền thuyết, không có đệm lót) enter image description here

Trả lời

7

Bạn nên sử dụng scale_fill_continuous(guide = FALSE) để xóa chú giải. Sau đó, để thoát khỏi tất cả các padding (trục, nhãn, vv), bạn có thể sử dụng dài lệnh này theme():

require(ggplot2) 
# Original data 
samples <- t(rmultinom(50, size = 7, prob = rep(0.1,10))) 

# Co-ocurrence matrix 
coincidences <- sapply(1:ncol(samples), function(i) { 
    colSums(samples[,i]==samples) 
}) 

p <- ggplot(melt(coincidences), aes(Var1, Var2, fill = value)) + 
    geom_raster() + 
    scale_fill_continuous(guide = FALSE) + 
    theme(axis.text  = element_blank(), 
     axis.ticks  = element_blank(), 
     axis.title  = element_blank(), 
     panel.background = element_blank()) 

enter image description here

+0

Bạn cũng có thể chỉ sử dụng 'axis.text' thay vì cả hai 'trục. text.x' và 'axis.text.y'. Khi sử dụng 'axis.text', bạn chỉ định cài đặt cho trục x & y cùng một lúc. – Jaap

+0

@Jaap Điểm tốt. Tôi đã thay đổi câu trả lời cho phù hợp. – christoph

Các vấn đề liên quan