R:ggplot:错误:未知参数:binwidth,bin,pad

Dan*_*Cee 5 error-handling r histogram ggplot2

我想用ggplot2做一个非常简单的直方图.我有以下MWE:

library(ggplot2)
mydf <- data.frame(
                  Gene=c("APC","FAT4","XIRP2","TP53","CSMD3","BAI3","LRRK2","MACF1",
                  "TRIO","SETD2","AKAP9","CENPF","ERBB4","FBXW7","NF1","PDE4DIP",
                  "PTPRT","SPEN","ATM","FAT1","SDK1","SMG1","GLI3","HIF1A","ROS1",
                  "BRDT","CDH11","CNTRL","EP400","FN1","GNAS","LAMA1","PIK3CA",
                  "POLE","PRDM16","ROCK2","TRRAP","BRCA2","DCLK1","EVC2","LIFR",
                  "MAST4","NAV3"),
                  Freq=c(48,39,35,28,26,17,17,17,16,15,14,14,14,14,14,14,14,14,13,
                  13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,
                  10,10,10))
mydf
ggplot(mydf, aes(x=Gene)) +
      geom_histogram(aes(y=Freq),
      stat="identity",
      binwidth=.5, alpha=.5,
      position="identity")
Run Code Online (Sandbox Code Playgroud)

我总是使用这个简单的代码来生成这种直方图.

事实上,我有一段时间前我做过的这个特例的情节......

在此输入图像描述

但是,现在我运行完全相同的代码,我收到以下错误:

错误:未知参数:binwidth,bin,pad

为什么我现在而不是之前发现此错误,这是什么意思?

非常感谢!

小智 6

geom_histogram() 不再是绘制离散值计数的最合适方法。

当您预先计算频率值时,请使用 geom_col() 代替,然后所有错误都会消失。

library(ggplot2)
mydf <- data.frame(
               Gene=c("APC","FAT4","XIRP2","TP53","CSMD3","BAI3","LRRK2","MACF1",
              "TRIO","SETD2","AKAP9","CENPF","ERBB4","FBXW7","NF1","PDE4DIP",
              "PTPRT","SPEN","ATM","FAT1","SDK1","SMG1","GLI3","HIF1A","ROS1",
              "BRDT","CDH11","CNTRL","EP400","FN1","GNAS","LAMA1","PIK3CA",
              "POLE","PRDM16","ROCK2","TRRAP","BRCA2","DCLK1","EVC2","LIFR",
              "MAST4","NAV3"),
              Freq=c(48,39,35,28,26,17,17,17,16,15,14,14,14,14,14,14,14,14,13,
              13,13,13,12,12,12,11,11,11,11,11,11,11,11,11,11,11,11,10,10,10,
              10,10,10), stringsAsFactors = FALSE)
mydf
ggplot(mydf, aes(x=Gene, y=Freq)) + 
   geom_col() + 
   scale_x_discrete(limits = mydf$Gene)
Run Code Online (Sandbox Code Playgroud)

注意:还需要将您的 Gene 列定义为非因子和scale_x_discrete() 以避免 x 轴按字母顺序排列。