转换为绘图的正确格式

时间:2018-10-31 22:43:34

标签: r

新秀R人在这里,试图密谋 我有:

this

我不确定如何将chrs转换为str(chrs) chr [1:391048] "MT" "MT" "MT" "MT" "MT" "MT" "MT" "MT" "MT" "MT" str(comps2$X1.7) num [1:391048] 0.0147 0.019 0.0301 0.032 0.0492 的适当格式

我已经尝试过plot(chrs,comps2$X1.7, type="l")chrs <- as.numeric(as.character(chrs)),但这只是引入了NAs

我希望该图看起来像下面的第一个图,但是使用x轴标签作为第二个图,这是我在使用图chrs <- as.numeric(chrs)时得到的结果

我知道有一个简单的解决方法。非常感谢您的帮助。

如果有人知道X轴标签上的每一次更改都会使背景从白色变为灰色,那么会更棒,而是宁愿先有一个工作图:)

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:0)

我使用了ggplot2软件包。您必须首先定义一个dataframe,因为ggplot函数将一个数据帧作为输入。然后,您可以将x值定义为从1到值向量的最大索引的索引,然后使用scale_x_continous更改x轴上的标签:

library(ggplot2)
df <- data.frame(chrs = chrs, values = comps2$X1.7, color = 1:2, stringsAsFactors = FALSE)

ggplot(df, aes(x = 1:nrow(df), y = values)) + 
 geom_line() + 
 scale_x_continuous(breaks = 1:length(df$chrs),
                  labels = df$chrs) 

编辑:要更改颜色,只需向数据框添加颜色指示符,然后在1和2之间交替显示即可。然后可以将其传递给geom_line函数的美学在这种情况下,必须为factor),然后在scale_color_manual中定义颜色。

library(ggplot2)
df <- data.frame(chrs = chrs, values = comps2$X1.7, color = 1:2, stringsAsFactors = FALSE)

ggplot(df, aes(x = 1:nrow(df), y = values)) + 
 geom_line(aes(col = as.factor(df$color))) + 
 scale_x_continuous(breaks = 1:length(df$chrs),
                  labels = df$chrs) +
 scale_color_manual(values = c("black", "grey")