2

我正在使用 R 从表中生成图。

我使用了该命令a <- read.table("table.txt"),并且效果很好。当我输入“a”时,它会正确打印出我的完整表格。

我也进入了library(ggplot2),所以我可以使用 ggplot。

这是我的第一个命令:

ggplot(a, aes(x=V2, y=V5, group=V7)) + 
   geom_point(size=4, aes(col=V7)) + xlab("Rank") + 
   ylab("Inter-helix angle (Degree)") + 
   opts(legend.position="none") 

这个命令生成了所有的点,但是当我添加xlim(0,110) + ylim(0,110)到最后时,它给了我一个警告并说“删除了包含缺失值的 101 行”(我的表有 101 行长)。生成的地块完全是空的。发生了什么?

4

1 回答 1

3

我猜您的数据可能超出了您指定的范围xlimylim例如:

 library(ggplot2)
 df <- data.frame(x=1:10,y=1:10)
 ggplot(a, aes(x=x, y=y)) + 
 geom_point(size=4) + xlab("Rank") + 
 ylab("Inter-helix angle (Degree)")

工作正常,但是:

 ggplot(df, aes(x=x, y=y)) + 
 geom_point(size=4) + xlab("Rank") + 
 ylab("Inter-helix angle (Degree)") + xlim(0,0.1) + ylim(0,0.1)

给出与您得到的相同的错误,因为没有值介于0和之间0.1

警告消息:删除了 10 行包含缺失值 (geom_point)。

尽管没有您的数据,这只是最有可能的答案。顺便说一句,一般人倾向于使用coord_cartesian

ggplot(df, aes(x=x, y=y)) + 
 geom_point(size=4) + xlab("Rank") + 
 ylab("Inter-helix angle (Degree)") + coord_cartesian(xlim=c(0,0.1)) + 
coord_cartesian(ylim=c(0,0.1))
于 2013-01-23T17:59:30.603 回答