【问题标题】:R overlap line plots with ggplot with categorical variable on x-axisR 重叠线图与 ggplot 与 x 轴上的分类变量
【发布时间】:2018-09-11 11:29:07
【问题描述】:

我在尝试制作基本线图时遇到了一个我不明白的错误。我确信有一个简单的解决方法。这是我的 df(Chrom 有 24 个值,一些数字和一些字母)。

> df
# A tibble: 375 x 4
   Sample BasesCovered FractionOfTotal Chrom
   <chr>         <int>           <dbl> <chr>
 1 AE        169850837           0.682 1    
 2 BE        112368817           0.451 1    
 3 HE        116402736           0.468 1    
 4 C         142399396           0.572 1    
 5 AE:BE      93870879           0.377 1    
 6 AE:HE      98319854           0.395 1    
 7 AE:C      108852071           0.437 1    
 8 BE:HE      69040576           0.277 1    
 9 BE:C       72772760           0.292 1    
10 HE:C       74645628           0.300 1    
# ... with 365 more rows

这是我根据 line graph example 制作情节的代码

地块

ggplot(df, aes(y="FractionOfTotal", X="Chrom", group=1)) +
  geom_line(aes(colour="Sample"))

ggplot(df, aes(y="FractionOfTotal", X="Chrom")) +
 geom_line(aes(group=1))

ggplot(df, aes(y="FractionOfTotal", X="Chrom", colour="Sample")) +
  geom_line()

这些尝试中的每一个都会引发此错误:

Error in order(c(1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L, 1L,  : 
  argument 3 is not a vector

我不确定参数 3 是什么?所以我尝试了这个并没有帮助:

> is.vector(df$Sample)
[1] TRUE
> is.vector(df$Chrom)
[1] TRUE
> is.vector(df$FractionOfTotal)
[1] TRUE

我尝试搜索错误并找到this,但在这种情况下,df 似乎存在问题,我看不到在我的情况下是真的。

我确定这很简单?

【问题讨论】:

  • 删除列名中的引号(例如:aes(y=FractionOfTotal, x = Chrom))。
  • 嗨 PoGibas,我刚刚对所有 3 个绘图示例都进行了尝试,但仍然抛出相同的错误。
  • 请使用dput函数添加您的数据示例。
  • aes 内应该是小写的x(而不是你的代码中的大写X)。
  • 啊,这似乎已经修复了 Maurits Evers!该死的错字!非常感谢!

标签: r ggplot2 linegraph


【解决方案1】:

除了我上面的评论之外,我实际上不确定您要绘制什么,但以下工作(注意 aes 内的小写 x

ggplot(df, aes(y = FractionOfTotal, x = Chrom, group = 1)) +
    geom_line(aes(colour = Sample))


样本数据

df <- read.table(text =
    "   Sample BasesCovered FractionOfTotal Chrom
 1 AE        169850837           0.682 1
 2 BE        112368817           0.451 1
 3 HE        116402736           0.468 1
 4 C         142399396           0.572 1
 5 AE:BE      93870879           0.377 1
 6 AE:HE      98319854           0.395 1
 7 AE:C      108852071           0.437 1
 8 BE:HE      69040576           0.277 1
 9 BE:C       72772760           0.292 1
10 HE:C       74645628           0.300 1    ", header = T)

【讨论】: