首页 文章

ggplot没有绘制boxplot

提问于
浏览
1

我对R有点新,对ggplot很新,但我遇到了geom_boxplot()的问题:

我正在尝试绘制序列长度数据的箱线图,按样本类型分隔 . 序列长度都是整数,样本类型已存储为因子 . 命令:

> ggplot(database, aes(x = SampleType, Y = Length), geom_boxplot())

绘制一个空白图表,使用适当的X和Y轴,但根本没有绘图!很明显它知道了Length变量的限制(根据我的数据,轴截止是合适的)但绝对拒绝在图表上放置箱形图!

奇怪的是,命令:

> ggplot(database) + geom_boxplot(aes(x = SampleType, Y = Length))

作品!

我在其他数据集上测试了ggplot,这两个命令都运行正常,所以它显然只是我的一个问题!

我希望有人可以告诉我两种语法之间的区别,并且可能为什么一种方法在另一种方法不起作用时?

谢谢!

1 回答

  • 2

    考虑构建 ggplot2 图形的一种方法是考虑高架投影仪和分层(每个geom是一层)geoms作为透明表 .

    ggplot() 打开投影机但没有为任何图层设置默认值(透明表)

    ggplot(data = <some.data.frame>) 将打开投影机并将 some.data.frame 设置为即将到来的图层的默认数据源 .

    ggplot(data = <some.data.frame>, mapping = aes()) 将打开投影机并为每一层设置默认数据集和美学效果 .

    此时,没有创建或绘制图层(geoms) . 在 ggplot 调用中, ... 允许传递其他参数,但是,它们会被忽略 . 这就是你的原因

    ggplot(数据库,aes(x = SampleType,Y = Length),geom_boxplot())

    没有错误,也没有产生预期的结果 .

    代码块

    ggplot(database, aes(x = SampleType, y = Length)) +
    geom_boxplot()
    

    将打开项目,将默认数据集设置为 database 和默认美学 . 然后我们添加图层 geom_boxplot ,好像在高射投影仪上放置了透明板,以显示箱图 .

相关问题