将 ggplot 转换为 3D 图形时出现问题(使用光线着色器)
Problem turning ggplot into 3D graph (using rayshader)
我正在尝试使用 rayshader 包将 ggplot 转换为 3D 图。
ggplot 是用 geom_raster()
制作的并且工作正常。这是它的样子:
这是二维图的代码。虽然,我认为这不是问题的核心所在。因为如前所述,它一直有效到这里。
Plot = Score_image %>%
ggplot(aes(x=as.numeric(x),
y=as.numeric(y), fill= PC_1)) +
geom_raster()+
theme_void()+
scale_fill_viridis(na.value = "white")
然后我尝试使用 plot_gg(Plot)
将其转换为 3D 图,但我收到以下错误代码:
Error in png::readPNG(paste0(heightmaptemp, ".png")) :
unable to open C:\Users\...\AppData\Local\Temp\RtmpGQuKkm\file16dc6dd3339f.png
我不知道这个错误是什么意思,我也没有在网上找到任何信息。我试过 re-installing rayshader,但没有用。 plot_gg
也适用于我尝试过的其他图表。
有人知道问题出在哪里吗?
如果不使用 theme_void() 将元素显式设置为空白,遇到同样的问题并得到解决:
Plot = Score_image %>%
ggplot(aes(x=as.numeric(x),
y=as.numeric(y), fill= PC_1)) +
geom_raster() +
scale_fill_viridis(na.value = "white") +
theme(legend.position = "none",
axis.line=element_blank(),
axis.text.x=element_blank(), axis.title.x=element_blank(),
axis.text.y=element_blank(), axis.title.y=element_blank(),
axis.ticks=element_blank(),
panel.background = element_blank()) # Clean Everything
我正在尝试使用 rayshader 包将 ggplot 转换为 3D 图。
ggplot 是用 geom_raster()
制作的并且工作正常。这是它的样子:
这是二维图的代码。虽然,我认为这不是问题的核心所在。因为如前所述,它一直有效到这里。
Plot = Score_image %>%
ggplot(aes(x=as.numeric(x),
y=as.numeric(y), fill= PC_1)) +
geom_raster()+
theme_void()+
scale_fill_viridis(na.value = "white")
然后我尝试使用 plot_gg(Plot)
将其转换为 3D 图,但我收到以下错误代码:
Error in png::readPNG(paste0(heightmaptemp, ".png")) :
unable to open C:\Users\...\AppData\Local\Temp\RtmpGQuKkm\file16dc6dd3339f.png
我不知道这个错误是什么意思,我也没有在网上找到任何信息。我试过 re-installing rayshader,但没有用。 plot_gg
也适用于我尝试过的其他图表。
有人知道问题出在哪里吗?
如果不使用 theme_void() 将元素显式设置为空白,遇到同样的问题并得到解决:
Plot = Score_image %>%
ggplot(aes(x=as.numeric(x),
y=as.numeric(y), fill= PC_1)) +
geom_raster() +
scale_fill_viridis(na.value = "white") +
theme(legend.position = "none",
axis.line=element_blank(),
axis.text.x=element_blank(), axis.title.x=element_blank(),
axis.text.y=element_blank(), axis.title.y=element_blank(),
axis.ticks=element_blank(),
panel.background = element_blank()) # Clean Everything