使用R语言Rayshader包的plot_gg()时绘图背景变黑如何解决?
解决Rayshader绘图背景变黑的问题
问题根源
你使用的theme_void()会将ggplot的背景设置为透明,而rayshader的plot_gg()默认会把透明区域渲染成黑色,这就是背景全黑的原因。
两种修复方法
方法1:在ggplot里设置背景色
修改theme_void()部分,添加plot.background参数指定背景颜色(示例用白色):
base_map <- ggplot(data = df.shp, mapping = aes(x = long, y = lat, group = group)) + geom_polygon(color = "#8a8a8a", fill = "#8a8a8a") + coord_quickmap() + theme_void() + theme(plot.background = element_rect(fill = "white", color = NA)) # 新增背景设置 growing_stock = base_map + geom_point(data = temp1, aes(x=longitude, y=latitude, color=volume_per_ha, group=time),size=2) + scale_colour_gradient(name = 'Average growing stock [m3/ha]', limits=range(temp1$volume_per_ha), low="#FCB9B2", high="#B23A48") plot_gg(growing_stock, width=5, height=5, multicore = TRUE, scale = 300)
方法2:直接在plot_gg中指定背景色
无需修改ggplot代码,直接给plot_gg()添加background参数:
plot_gg(growing_stock, width=5, height=5, multicore = TRUE, scale = 300, background = "white")
额外提示
如果想要更适配地图的背景色调,把代码里的"white"换成对应的颜色代码即可,比如浅灰色"#f5f5f5"。
内容的提问来源于stack exchange,提问作者starski
相关产品推荐
相关产品推荐

