有什么方法可以访问 DescTools::Desc() 生成的绘图对象?
Any way to access the plot object generated by 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 个图。我可以使用结果 [[1]]] 中的列表找到各个响应,但我找不到绘图对象,我认为这可能是一种将一个放在另一个下面的方法。
有什么想法吗?
results
中没有绘图对象。
相反,当您在控制台中键入 results
时,它会调用 S3 泛型 print
,后者又会调度 print.Desc
方法。默认情况下,print.Desc
将调用基于 results
的“class”成员的绘图函数,在您的示例中为 "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)
我正在使用 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 个图。我可以使用结果 [[1]]] 中的列表找到各个响应,但我找不到绘图对象,我认为这可能是一种将一个放在另一个下面的方法。
有什么想法吗?
results
中没有绘图对象。
相反,当您在控制台中键入 results
时,它会调用 S3 泛型 print
,后者又会调度 print.Desc
方法。默认情况下,print.Desc
将调用基于 results
的“class”成员的绘图函数,在您的示例中为 "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)