2012-06-05 88 views
4

我用切斷密度圖中GGPLOT2

frame <- read.table(paste('data', fname, sep="/"), sep=",", header=TRUE) 
colnames(frame) <- c("pos", "word.length") 
plot <- ggplot(frame, aes(x=pos, y=word.length)) + xlim(0,20) + ylim(0,20) + geom_density2d() + stat_density2d(aes(color=..level..)) 
png(paste("graphs/", fname, ".png", sep=""), width=600, height=600) 
print(plot) 
dev.off() 

創造情節,但它們會被截斷。我該如何解決?

http://ompldr.org/vZTN0eQ

我用於創建此圖中的數據:http://sprunge.us/gKiL

+0

如果我構成一些範圍從0到20的數據,我的情節看起來不錯。也許你可以提供一些複製問題的數據?如果您省略'xlim'和'ylim'選項,ggplot會根據您的數據限制爲您選擇它們​​。我懷疑這是你的問題所在。 – Justin

+0

你是對的,但我有不同的數據集,有些在3到10的範圍內,其他的全是0到20的範圍,我希望他們可以比較。顯然'lim's沒有正確傳遞。 – Reactormonk

+0

限制通過與您通過它們的時間一樣,0:20。所以從3:10開始的數據看起來是「切斷」的,因爲它們不會延伸到圖的邊緣。同樣,如果您提供一些數據,您可以得到更好的答案。我建議將數據放入一個data.frame中,並用'facet_wrap'或'facet_grid'繪製並修改您的比例。這樣所有的地塊都有一個比例。 – Justin

回答

3

按照GGPLOT2書,您使用scale_x_continuous(limits=c(1,20)),而不是xlim(1,20)了點。