我有點卡住柵格與對數刻度。考慮此情節,例如:geom_raster插值與對數刻度
ggplot(faithfuld, aes(waiting, eruptions)) +
geom_raster(aes(fill = density))
但如何使用數比例與此GEOM?通常的方法都不是非常令人滿意:
ggplot(faithfuld, aes(waiting, log10(eruptions))) +
geom_raster(aes(fill = density))
ggplot(faithfuld, aes(waiting, (eruptions))) +
geom_raster(aes(fill = density)) +
scale_y_log10()
而這並不在所有的工作:
ggplot(faithfuld, aes(waiting, (eruptions))) +
geom_raster(aes(fill = density)) +
coord_trans(x="log10")
Error: geom_raster only works with Cartesian coordinates
是否有任何選項可用於使用光柵日誌比例?
準確地說,我有三列數據。 z值是我想用來爲柵格着色的值,它不是從x和y值中計算出來的。所以我需要提供所有三列到ggplot
函數。例如:
dat <- data.frame(x = rep(1:10, 10),
y = unlist(lapply(1:10, function(i) rep(i, 10))),
z = faithfuld$density[1:100])
ggplot(dat, aes(x = log(x), y = y, fill = z)) +
geom_raster()
我能做些什麼來擺脫柵格這些差距呢?
注意,這個問題是關係到這兩個:
我一直保持的R代碼裏面的更新要點,結合細節從這些問題的答案(包含在要點中的示例輸出)。該要點在於:https://gist.github.com/benmarwick/9a54cbd325149a8ff405
感謝,在我的實際使用情況我真的需要使用第三個變量的密度,如'faithfuld'數據集,所以你的建議並沒有解決我的問題。你還有其他建議嗎? – Ben
我不確定你的意思是「真的需要使用第三個變量作爲密度」。你有沒有辦法計算密度?另一種方法是檢索'ggplot'用來構建圖的數據。您可以將圖像保存爲'g'這樣的對象,並通過'ggplot_build(g)$ data'檢索數據。數據包含密度。 – JasonWang
或者你可以編輯問題並提供實際使用案例的子集? – JasonWang