在R中绘制值的范围

时间:2018-03-09 21:59:47

标签: r ggplot2 data-visualization

我感兴趣的是绘制变量值的范围,以便名称显示在Y轴上,而X轴上的范围显示,以便更好地显示。

我使用了以下代码:

primer_matrix1a <- matrix(
  c(
    "EF1", 65, 217,
    "EF6",  165, 197,
    "EF14", 96, 138,
    "EF15", 103, 159,
    "EF20", 86, 118,
    "G9", 115, 173,
    "G25", 112, 140,
    "BE22", 131, 135,
    "TT20", 180, 190
  )
  ,nrow=9,ncol=3,byrow = T)

# Format data
Primer_name <- primer_matrix1a[,1]
Primer_name <- matrix(c(Primer_name),nrow = 9,byrow = T)
Primer_values<- matrix(c(as.numeric(primer_matrix1a[ ,2-3])),nrow = 9,ncol = 2,byrow = T)
Primer_Frame <- data.frame(Primer_name,Primer_values)
colnames(Primer_Frame) <- c("Primer","min","max")
Primer_Frame$mean<- mean(c(Primer_Frame$min,Primer_Frame$max))


ggplot(Primer_Frame, aes(x=Primer))+
  geom_linerange(aes(ymin=min,ymax=max),linetype=2,color="blue")+
  geom_point(aes(y=min),size=3,color="red")+
  geom_point(aes(y=max),size=3,color="red")+
  theme_bw()

enter image description here

但情节很奇怪,EF15从103,159开始,而G9从115变为173,它们没有重叠,所以我做错了。

1 个答案:

答案 0 :(得分:0)

当您加入矩阵时,看起来有些事情变得混乱,但这种方法已经比它应该更加复杂,所以您可能想重新开始。最简单的方法是将它转换为数据帧然后在那里格式化,而不是摆弄所有的矩阵函数:

if (!isset($_SESSION['userSession']))

in this example