如何使用 Hmisc 包在 R 中绘制多个点图

How to plot multiple Dotplots in R with Hmisc package

所以我一直在尝试让两个点图(Hmisc 包)出现在同一个图中,但 R 却按顺序绘制它们。

有人知道如何在同一张图中绘制两个点图,特别是使用 Hmisc 包吗?

我试过

par(mfrow = c(1, 2))
Dotplot(latitude~mortality, data=USmelanoma)
Dotplot(longitude~mortality, data=USmelanoma)

但是它将它们绘制在两个单独的图形中,一个接一个地绘制,而不是像我期望的那样在一个图中绘制 par(mfrow = c(1,2))

您不能将基本图形与您在此处尝试执行的点阵图形混合(当然,您可以,但并不容易,而且不是您在此处尝试执行的方式)。

一种方法是使用 gridExtra 包中的 grid.arrange() 函数,例如

## load packages required
library("HSAUR2")
library("Hmisc")
library("gridExtra")

## draw each plot separately and save to objects
plt1 <- Dotplot(latitude ~ mortality, data = USmelanoma)
plt2 <- Dotplot(longitude ~ mortality, data = USmelanoma)

## arrange the stored plots
grid.arrange(plt1, plt2, ncol = 2)

这给出:

这是一种简单的方法来做你想做的事;还有其他方法可以直接使用 grid 包本身中的函数来执行此操作,但它们需要用户多一点。