R 截断y轴,数据将消失

R 截断y轴,数据将消失,r,ggplot2,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(ggpl

当我截断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())

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

很好奇,所以我将其编码为:

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())
收益率:

和用户20650的
coord_cartesian
建议:

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_cartesian(ylim=c(50,90))
结果如下:


尝试过滤数据,以匹配您所追求的输出。可能的话。使用笛卡尔坐标(ylim=c(50,90))谢谢你,皮埃尔·拉福琼。这是一个简单而巧妙的解决方案。不确定是否可以在同一组指令中使用coord_笛卡尔和coord_fixed(当我指定1/2比率时),因此我很可能从每个数据点减去50。谢谢你的主意。嗯,我减去50的想法不是很好,除非我能把x轴标签改成50到90,而不是0到40。我不知道你所说的“过滤”是什么意思,尽管我正在试图弄清楚如何使基线为50。迈克·怀斯,谢谢,谢谢,谢谢。喜欢你的图形。不幸的是,现在我得到了:错误:ggplot2不知道如何处理类函数的数据。因为名称
data
。如果未定义数据框(并使用名称
data
),ggplot将使用
utils
包中的
data()
函数。R没有类型检查。R中的许多无法理解的错误消息来自与同名函数的冲突。再次感谢你,Mike。关于R需要了解的东西太多了。不幸的是,很难避免这些冲突,因为所有好的名字都已经被基本的R功能用光了<例如,code>df是F函数的密度函数。到处都是碰撞。。。
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())
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)
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_cartesian(ylim=c(50,90))