在ggplot2中显示计算进度

Dej*_*nic 5 r ggplot2

我想知道如何在计算时显示 ggplot2 或 ggmap 操作的进度。我正在处理一些非常大的形状文件,它们可能需要几分钟才能显示绘图。我知道有几个包和函数允许您在计算期间插入进度条或百分比(例如“progress”包),但我不知道如何将其插入到 ggplot 操作中。

所以,下面的例子:

library (ggplot2)
library (sf)
     
ggplot() +
  geom_sf(data = "myshapefile.shp", size = 1, color = "black", fill = "red") + 
  ggtitle("Testplot") + 
  coord_sf()
Run Code Online (Sandbox Code Playgroud)

该形状文件需要几分钟才能渲染成绘图。而不是只是坐在那里等待它出现而不知道它何时完成或是否被卡住。我希望看到某种进度(条形或百分比,并不重要 - 例如,显示何时完成 10%、20%、30% 等)。

Sha*_*awn 1

ggplot2 的创建者 Hadley Wickham 表示,这里不可能有进度条。

在此输入图像描述

他简化形状文件的建议将删除顶点到一定的公差,并且通常会使其渲染速度更快,而不会在图形中出现任何可察觉的差异。可以这样做。

library (ggplot2)
library (sf)
my_shapefile <- read_sf("myshapefile.shp")

# You'll have to test different tolerance levels here. Higher
# values will produce more rigid looking shapes which will render faster. 
# I would try values of 0.01, 0.1, 1, and 10.
my_shapefile <- st_simplify(my_shapefile, dTolerance = 0.1)

ggplot() +
  geom_sf(data = my_shapefile, size = 1, color = "black", fill = "red") + 
  ggtitle("Testplot") + 
  coord_sf()
Run Code Online (Sandbox Code Playgroud)