ggplot geom_boxplot渲染非常缓慢

时间:2019-04-22 14:54:05

标签: r ggplot2 x11

我有一个约有90000行的data.table,我们称之为dtWeights。我正在尝试绘制带有刻面的箱形图,类似于:

ggplot(dtWeights, aes(Day, Weight, group = Day)) +
  geom_boxplot() +
  facet_wrap(~ year(Date))

dtWeights的格式为:

      Date Day Weight
2005-01-01   1   0.01
2005-01-01   2   0.01
2005-01-01   3   0.01
2005-01-01   4   0.01
2005-01-01   5   0.01
---
2019-01-01  96   0.01
2019-01-01  97   0.01
2019-01-01  98   0.01
2019-01-01  99   0.01
2019-01-01 100   0.01

因此,每个构面将包含100个框(对应于Day),每个框代表数百个Date;总共约有14个方面。

当我在ggplot中绘制此图并在X11上绘制该图时,该过程需要几分钟才能呈现整个图像。但是,如果我将其绘制在基础R中,它将几乎立即呈现。例如,可以这样做:

par(mfrow = c(4, 4))
lapply(
  2005:2019,
  function(localYear){
    boxplot(Weight ~ Day, data = dtWeights[year(Date) == localYear])
  }
)

我认识到基本R的速度将比ggplot快,但是这里的速度差异远比简单的折线图或条形图之间的差异更明显。

谁能详细说明为什么ggplot中的箱形图绘制如此缓慢,并解释我到底可以做些什么?

0 个答案:

没有答案