截断y轴,数据消失

时间:2016-01-04 18:27:54

标签: r ggplot2

当我截断y轴以仅显示50到90范围时,我的数据消失了。我把ylim放在了错误的地方吗?

电子表格如下所示:

xval yval_LWTW  linenames   SNP
1   61.4835166  MT9513      NN
2   61.93341478 RITA        GG
3   63.31277751 JUDITH      CC
4   63.60466558 CO04W320    GG
5   64.84700514 DECADE      NN

library(ggplot2)
library(xlsx)
data <- read.xlsx("RdataForGraphsofBestHits.xlsx", sheetIndex=4)
ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP,  
                     scale_fill_manual(values=c(GG="blue",CC="red",NN="green")))) + 
                     geom_bar(stat="identity", width=1) + 
                     theme(axis.title.x=element_blank())

enter image description here

这给了我一个很高的图,因为数据从61到81.我想让y轴从50开始,所以绘图会更短,所以我在代码中加上+ ylim(50.0,90.0) 。

library(ggplot2)
library(xlsx)
data <- read.xlsx("RdataForGraphsofBestHits.xlsx", sheetIndex=4)
ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP, 
        scale_fill_manual(values=c(GG="blue", CC="red", NN="green")))) + 
        geom_bar(stat="identity", width=1) + 
        theme(axis.title.x=element_blank()) + 
        ylim(50.0, 90.0)

现在我得到了阴影的灰色背景,y轴很好地限制在50到90范围内,但没有数据绘制在它上面。只是灰色背景和轴标签和图例。 enter image description here

我认为我有使图表水平的代码。

ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP, 
          scale_fill_manual(values=c(GG="blue", CC="red", NN="green")))) + 
          geom_bar(stat="identity", width=1) + 
          theme(axis.title.x=element_blank()) + 
          coord_fixed(ratio=1/2)

所以如果能解决消失的数据问题,我可以解决水平问题。

1 个答案:

答案 0 :(得分:1)

很好奇所以我把它编码了:

pop_back

收率:

enter image description here

而且:

n <- 250
xval <- 1:n
yval <- 61 + 4*sin(2*pi*(1:n)/n) + 18*(1:n)/n
snp <- sample(c("CC",rep("GG",40),rep("NN",40)),n,replace=T)
data <- data.frame(xval=xval,yval_LWTW=yval,SNP=snp)

ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP)) +  
             scale_fill_manual(values=c(GG="blue",CC="red",NN="green")) + 
             geom_bar(stat="identity", width=1) + 
             theme(axis.title.x=element_blank())

收率:

enter image description here

用户20650的ggplot(data, aes(x=xval, y=yval_LWTW, fill=SNP)) + scale_fill_manual(values=c(GG="blue",CC="red",NN="green")) + geom_bar(stat="identity", width=1) + theme(axis.title.x=element_blank()) + ylim(50,90) 建议:

coord_cartesian

得出这个:

enter image description here

相关问题