我正在使用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行)。生成的图是完全空的。发生了什么事?
答案 0 :(得分:2)
我猜你的数据可能超出了你在xlim
和ylim
指定的范围,例如:
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))