在geom_tile中使用heat.colours

时间:2019-11-04 12:01:10

标签: r ggplot2

我使用自定义的scale_file_gradientn调色板创建了一个图块,但是颜色不是很正确-纠正它是一个巨大的痛苦。该图像显示了当前版本,尽管没有轴标签(数据尚未准备好共享!)。

current version

相反,我想使用heat.colors调色板。 (我需要将0值设置为白色,因此,我认为翠绿和类似的调色板在这里不是一个好的选择)。

但是,我正在努力找到正确的代码来将heat.colors合并到ggplot2 geom_tile函数中。有人可以建议吗?

下面是我以前使用自定义调色板的代码,以备不时之需。

ptile<-ggplot(dftabtile, aes(y=Var1, x=icd_ord, fill=Freq))

ptile<- ptile + geom_tile(color="Black", size=0.1) + coord_equal() + labs(y = "y values", x="x values" ) + theme_minimal() + xangle_theme

tile_red <- ptile  + scale_fill_gradientn(colours=c("white", "#f2e8eb", "#e5d2d7","#d8bcc3", "#cba6af","#be909c", "#b17a88", "#a46474", "#974e60", "#8a384c","#7d2239"), values=c(0,0.0001,0.1, 0.2, 0.3, 0.4, 0.5, 0.6, 0.7, 0.8, 0.9, 1), name="# Data points")

tile_red

ggsave("demo.png", width=400, height=200, units="mm")

1 个答案:

答案 0 :(得分:0)

我不知道这是否有帮助,因为您没有提供数据,但是您是否尝试使用scale_fill_brewer而不是scale_fill_gradient

library(tidyverse) 

library(RColorBrewer)

display.brewer.all()

ftabtile %>% 
  ggplot(aes(y=Var1,
             x=icd_ord,
             fill=Freq)) +
  geom_tile(color="Black", size=0.1)+
  coord_equal() + 
  labs(y = "y values", x="x values" ) +
  theme_minimal() +
  xangle_theme +
  scale_fill_brewer(palette = "Blues")