首页 > 解决方案 > R:在一个显示器中绘制多个 qcc::cusum 图表

问题描述

我是 R 新手,我正在尝试在一个显示器中绘制多个 CUSUM 图表。我试过了par(mfrow=c(2,1)),,还是不行。layout()cowplot()

提到的功能确实使第一个 CUSUM 图表更小并像正常一样绘制plot();在上半区成功绘制了第一个 CUSUM。但是,第二个 CUSUM 图表只是自动刷新显示,而不是在同一显示中的第一个图表下方绘制。欢迎任何解决方案或可能的解决方案,提前非常感谢。

需要明确的是,我不是在谈论绘制“cumsum”数据,而是使用 cusum() 函数绘制 CUSUM 图表,如下所示: cusum(data, std.dev = standard_deviation_of_data, center = center, add.stats=FALSE, xlab="研究”,标题=“CUSUM 图表”,标签=标签)

标签: rplotdisplayqcc

解决方案


该问题很可能与生成“cusum.qcc”类图这一事实有关。

我不知道如何将其作为基础 r 图。

我尝试了各种在base r 中绘图的方法,包括:par(mfrow...)、layout(...) 和 par(...new = TRUE)

还尝试将 cusum plot 转换为 agrob以便使用gridExtra::grid.arrange()

这些努力都没有奏效,因此不得不将绘图保存为图像并组合图像


library(qcc)
library(magick)

数据

data(pistonrings)
attach(pistonrings)
diameter <- qcc.groups(diameter, sample)

另存为图像

jpeg(file="q1.jpeg")
cusum(diameter[1:25,], decision.interval = 4, se.shift = 1)
dev.off()

jpeg(file="q2.jpeg")
cusum(diameter[1:25,], newdata=diameter[26:40,])
dev.off()

读取和组合图像

q1 <- image_read("q1.jpeg")
q2 <- image_read("q2.jpeg")

img <- c(q1, q2)

image_append(img)

reprex 包于 2020-07-09 创建(v0.3.0)


推荐阅读