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

ggpattern包wave图案失效问题排查及解决方法

解决ggpattern包wave图案不生效问题

问题现象

  • 尝试用ggpattern包为ggplot2绘制的柱状图添加wave图案,图案未正常渲染,仅显示纯色填充
  • ggpattern官方文档中的混合图案章节示例同样无法正常运行

原代码

library(ggplot2)
library(ggpattern)
ToothGrowth$dose<- factor(ToothGrowth$dose)
ggplot(ToothGrowth, aes(dose)) +
geom_bar_pattern(aes(fill=dose, pattern=dose, pattern_type=dose),colour='black') +
theme_bw() +
labs(title = "使用'stripe'和'wave'图案") +
theme(legend.key.size = unit(1.5, 'cm')) +
scale_pattern_manual(values=c('stripe', 'wave', 'wave')) +
scale_pattern_type_manual(values=c(NA, 'triangle', 'sine'))

原输出:柱状图仅展示对应填充颜色,wave图案未显示

R环境信息

sessionInfo()
#> R version 4.4.1 (2024-06-14 ucrt)
#> Platform: x86_64-w64-mingw32/x64
#> Running under: Windows 10 x64 (build 19045)
#> 
#> Matrix products: default
#> 
#> 
#> locale:
#> [1] LC_COLLATE=Chinese (Simplified)_China.utf8 
#> [2] LC_CTYPE=Chinese (Simplified)_China.utf8   
#> [3] LC_MONETARY=Chinese (Simplified)_China.utf8
#> [4] LC_NUMERIC=C                                
#> [5] LC_TIME=Chinese (Simplified)_China.utf8    
#> 
#> time zone: Asia/Shanghai
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.37     fastmap_1.2.0     xfun_0.47         glue_1.7.0       
#>  [5] knitr_1.48        htmltools_0.5.8.1 rmarkdown_2.28    lifecycle_1.0.4  
#>  [9] cli_3.6.3         reprex_2.1.1      withr_3.0.1       compiler_4.4.1   
#> [13] rstudioapi_0.16.0 tools_4.4.1       evaluate_0.24.0   yaml_2.3.10      
#> [17] rlang_1.1.4       fs_1.6.4

解决方法

在geom_bar_pattern()函数中添加pattern_frequency = 5参数,调整图案频率,使wave图案能够正常渲染。

修正后代码

library(ggplot2)
library(ggpattern)
ToothGrowth$dose <- factor(ToothGrowth$dose)
ggplot(ToothGrowth, aes(dose)) +
    geom_bar_pattern(
        aes(
            fill = dose,
            pattern = dose,
            pattern_type = dose
        ),
        pattern_frequency = 5,
        colour = 'black'
    ) +
    theme_bw() +
    labs(title = "使用'stripe'和'wave'图案") +
    theme(legend.key.size = unit(1.5, 'cm')) +
    scale_pattern_manual(values = c('stripe', 'wave', 'wave')) +
    scale_pattern_type_manual(values = c(NA, 'triangle', 'sine'))

预期输出:柱状图成功显示stripe条纹、triangle波形和sine波形图案,与设定一致


内容的提问来源于stack exchange,提问作者ANLIN

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.17 23:52:07