0

我将尝试使用此处的修改代码来解释我的问题: https ://stats.stackexchange.com/questions/22805/how-to-draw-neat-polygons-around-scatterplot-regions-in-ggplot2

在我的示例中,我使用 Iris 数据集。

到目前为止,我的尝试已经产生了这个结果:

boxplotdbl 不在战斗位置

我的目标是在有壳散点图上绘制双箱线图(boxplotdou) - 具有相同的尺寸。当前代码是:

    library(ggplot2)
    library(boxplotdbl)
    df <- iris
    find_hull <- function(df) df[chull(df$Sepal.Length, df$Sepal.Width), ]
    hulls <- ddply(df, "Species", find_hull)

    plot <- ggplot(data = df, aes(x = Sepal.Length, y = Sepal.Width, colour=Species, fill = Species)) +
      geom_point() + 
      geom_polygon(data = hulls, alpha = 0.5) +
      labs(x = "Sepal.Length", y = "Sepal.Width")
    plot

    par(new = TRUE)
    #  This is quite close what I'm trying to achieve, without axes. But it is in wrong position
    #boxplotdou(Sepal.Length~Species, iris, Sepal.Width~Species, iris, factor.labels=FALSE, draw.legend=FALSE, name.on.axis=FALSE, ann = FALSE, axes = FALSE)
    #  This shows the axes, which do not match the underlying plot
    boxplotdou(Sepal.Length~Species, iris, Sepal.Width~Species, iris, factor.labels=FALSE, draw.legend=FALSE, name.on.axis=FALSE, ann = FALSE)

我试图在 ggplot() 中插入 boxplotdou(... 但出现错误:“不知道如何将 o 添加到绘图中”。

任何帮助,将不胜感激。

-卡里

4

1 回答 1

0
par(mar=c(2.850, 3.20, 1.30, 7.40))

把它放在你的 par(new = TRUE) 之后,我得到了一个很好的覆盖。 在此处输入图像描述 这些大小可能取决于图形环境。我相信 ggplot2 和 R 中的基本图形之间的坐标不兼容。所以,如果你想在同一张图片中使用两者,你​​必须手动调整。并且包 boxplotdbl 用于基本图形,而不是用于 ggplot2。

于 2016-10-29T12:14:41.227 回答