删除 R 中 timetk 库产生的绘图之间的空白

Posted

技术标签:

【中文标题】删除 R 中 timetk 库产生的绘图之间的空白【英文标题】:Removing the white spaces between the plots resulting from timetk library in R 【发布时间】:2021-10-02 20:36:24 【问题描述】:

我试图有非常整洁的情节。因此,试图删除地块之间的空白。我正在使用timetk 库。我看过一些与相同问题相关的示例,但这些查询大多来自grid.arrange 或来自ggplot 库的命令+theme(plot.margin = unit(c(-0.25,0.5,-0.25,0.5), "lines"))。这些概念不适用于带有 timetk 库的某些绘图命令。 当有很多地块时,我希望有非常细的地块。

我的代码是

library(tidyverse)
library(timetk)

    ## Case 1

walmart_sales_weekly %>%
    group_by(Store, Dept) %>%
    plot_anomaly_diagnostics(Date, Weekly_Sales,
                             .facet_ncol = 3, 
                             .interactive = TRUE)

## Case 2

walmart_sales_weekly %>%
  select(Date, Weekly_Sales,Size, Temperature,Fuel_Price, CPI, Unemployment )%>%
  pivot_longer(-Date)%>%
    group_by(name) %>%
  plot_seasonal_diagnostics(.date_var =  Date, 
                              .value =  value, 
                              .feature_set = 'month.lbl', 
                              .facet_vars = name
                              )

## Case 3

walmart_sales_weekly %>%
  select(Date, Weekly_Sales,Size, Temperature,Fuel_Price, CPI, Unemployment )%>%
  pivot_longer(-Date)%>%
    group_by(name) %>%
  plot_time_series(.date_var =  Date, 
                              .value =  value, 
                             .facet_ncol = 2, .smooth = FALSE
                              )

我需要 tiketk 库的时间序列图。我不喜欢使用任何其他库

【问题讨论】:

【参考方案1】:

这与plotly 如何产生分面有关。如果你想制作整洁的图,我建议通过设置.interactive = FALSE 来使用ggplot。这将确保可以使用ggplot2 管理空白。

一旦有了ggplot2 对象,就可以控制theme() 函数来调整间距。有关更多信息,请参阅此堆栈溢出。 enter link description here

# Change spacing between facets on both axis
p + theme(panel.spacing = unit(2, "lines"))

# Change horizontal spacing between facets
p + theme(panel.spacing.x = unit(2, "lines"))

# Change vertical spacing between facets
p + theme(panel.spacing.y = unit(2, "lines"))

【讨论】:

知道了。完美。

以上是关于删除 R 中 timetk 库产生的绘图之间的空白的主要内容,如果未能解决你的问题,请参考以下文章

Matplotlib 绘图:删除轴、图例和空白

Plotly:保存图像后如何删除空白?

具有独特着色器的 OpenGL 多次绘制调用会产生空白屏幕

R ggplot ggsave 产生不同的绘图元素大小,而不是简单地在 RStudio 中导出

R中的绘图函数产生图例而不调用legend()

在 R 中,如何在绘图的两个内部函数之间传递数据帧/小标题,然后保存绘图?