首页 > 解决方案 > 有什么方法可以访问由 DescTools::Desc() 生成的绘图对象?

问题描述

我正在使用 DescTools 中的 Desc() 来描述 rmarkdown PDF 文档中的一些变量。问题是它会生成 3 个在我编织文档时保持一致的图,从而裁剪图像。

例子:

dates <- sample(seq(as.Date('1999/01/01'), as.Date('2021/01/01'), by="day"), 1000)

results <- DescTools::Desc(dates)

results

输出包含 3 个图。我可以使用 results[[1]]] 中的列表找到各个响应,但我找不到绘图对象,我认为这可能是一种将一个放在另一个之下的方法。

有什么想法吗?

标签: rdesctools

解决方案


没有绘图对象results

相反,当您results在控制台中键入内容时,它会调用 S3 generic print,然后再调度该print.Desc方法。默认情况下,print.Desc将根据 的“类”成员调用绘图函数results,在您的示例中为"Date". 如果您DescTools:::plot.Desc.Date在控制台中键入,您将看到每次打印时实际生成绘图的函数results

所以没有情节对象。有数据可以创建绘图,每当您打印results到控制台时,绘图都是通过调用绘图函数来创建的。

Desc绘图功能似乎很少有可供修改的选项,因此最好的选择可能是使用里面的数据来results创建自己的绘图。如果您希望查看results没有绘图的内容,只需键入:

print(results, plotit = FALSE)

如果你想一次三个地块,你可以这样做:

DescTools:::plot.Desc.Date(results[[1]], type = 1)

在此处输入图像描述

DescTools:::plot.Desc.Date(results[[1]], type = 2)

在此处输入图像描述

DescTools:::plot.Desc.Date(results[[1]], type = 3)

在此处输入图像描述


推荐阅读