我想在y轴和多行上创建一个带有字符串的图

时间:2015-11-17 18:48:42

标签: r string ggplot2

我正在使用dssp Programm进行二级结构分析。 它创建一个具有不同字符串的Vector,可以将其解释为辅助结构。

例如:" " " "," S"," H"," H"," H"," H", " "," S"," "," T"," T"," "," "," S"," "

我对我的MD模拟的不同帧进行了dssp分析,现在想要显示每个残差在某个帧中属于哪种二级结构(根据dssp)。

This is a Paint image how it should look

我已经拥有一个包含信息的数据框(列以Residue命名,后面是Rows) 例如

           Res1 Res2 Res3 Res4
 Frame 1      H   T     B   "" 

 Frame 1001   H   H     S   ""

 Frame 2001   H   H     S   ""

英语不是我的母语,所以我觉得很难找到合适的词语来从搜索引擎那里获得帮助。

我认为应该可以使用ggplot2,但我是R和ggplot2中的血腥初学者

1 个答案:

答案 0 :(得分:0)

从您的数据中,dat。首先,我们需要重新安排它:

library(tidyr)
library(dplyr)
library(ggplot2)

dat <- dat %>% add_rownames("row") %>%
               gather(var, val, -row)

您的数据现在应该如下:

Source: local data frame [12 x 3]

          row    var   val
        (chr) (fctr) (chr)
1     Frame 1   Res1     H
2  Frame 1001   Res1     H
3  Frame 2001   Res1     H
4     Frame 1   Res2     T
5  Frame 1001   Res2     H
6  Frame 2001   Res2     H
7     Frame 1   Res3     B
8  Frame 1001   Res3     S
9  Frame 2001   Res3     S
10    Frame 1   Res4    NA
11 Frame 1001   Res4    NA
12 Frame 2001   Res4    NA

现在我们可以绘制:

ggplot(dat, aes(x = factor(row), y = factor(val), group = var, col = var)) + 
    geom_line()

enter image description here

您可能希望手动为val订购因子,您可以更改levels参数中的顺序。在此之后重新运行plot factor {/ 1>}周围的val

dat$val <- factor(dat$val, levels = c(NA, "S", "B", "H", "T"))