You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

geom_raster在x轴值超过2^15时失效的问题排查求助

geom_raster在x轴值超过2^15-1时无法正常显示(无报错)

在Ubuntu 22.04系统上,发现geom_raster在x轴最大值超过2^15-1(即32767)时无法生成正常图形,仅显示空的ggplot,且无任何报错信息。之前曾成功绘制过同类图形,不清楚环境变化导致失效的原因。

复现代码

以下代码可复现问题:第一个绘图生成空的ggplot,第二个正常显示:

library(ggplot2)
df <- expand.grid(y = 0:4, 
                  x = 1:2^(15))
df$fill <- rnorm(2^15)

# Plot 1, 失效(仅显示空ggplot)
ggplot(df) +
  geom_raster(aes(x = x, y = y, fill = fill))

# Plot 2, 正常显示
ggplot(df[1:(2^15 - 1),]) +
  geom_raster(aes(x = x, y = y, fill = fill))

图形表现

  • Plot 1(x值范围1-32768):空的ggplot画布,无任何可视化内容
  • Plot 2(x值范围1-32767):正常显示预期的热力图

当前环境信息

运行上述代码的sessionInfo()输出:

R version 4.3.3 (2024-02-29)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: Ubuntu 22.04.4 LTS

Matrix products: default
BLAS:   /usr/lib/x86_64-linux-gnu/blas/libblas.so.3.10.0 
LAPACK: /usr/lib/x86_64-linux-gnu/lapack/liblapack.so.3.10.0

locale:
 [1] LC_CTYPE=en_GB.UTF-8       LC_NUMERIC=C               LC_TIME=en_GB.UTF-8        LC_COLLATE=en_GB.UTF-8    
 [5] LC_MONETARY=en_GB.UTF-8    LC_MESSAGES=en_GB.UTF-8    LC_PAPER=en_GB.UTF-8       LC_NAME=C                 
 [9] LC_ADDRESS=C               LC_TELEPHONE=C             LC_MEASUREMENT=en_GB.UTF-8 LC_IDENTIFICATION=C        

time zone: Europe/Paris
tzcode source: system (glibc)

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base      

other attached packages:
[1] ggplot2_3.5.1

loaded via a namespace (and not attached):
 [1] labeling_0.4.3    utf8_1.2.4        R6_2.5.1          tidyselect_1.2.1  farver_2.1.1      magrittr_2.0.3   
 [7] gtable_0.3.5      remotes_2.5.0     glue_1.7.0        tibble_3.2.1      pkgconfig_2.0.3   generics_0.1.3   
[13] dplyr_1.1.4       lifecycle_1.0.4   cli_3.6.2         fansi_1.0.6       scales_1.3.0      grid_4.3.3       
[19] vctrs_0.6.5       withr_3.0.0       compiler_4.3.3    rstudioapi_0.16.0 tools_4.3.3       pillar_1.9.0     
[25] munsell_0.5.1     colorspace_2.1-0  rlang_1.1.3      

已尝试的操作

  • 更换不同R版本和ggplot2版本,问题未解决
  • 同事在Windows系统(R 4.2.3和4.4.0版本)运行相同代码可正常显示
  • 可通过geom_tile规避问题,但希望解决geom_raster的失效问题并了解原因,寻求相关建议

内容的提问来源于stack exchange,提问作者Rémi Lemaire-Patin

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.25 06:55:05