1

我正在尝试限制 R 中保存的绘图的范围。我可以在没有任何设置范围的情况下在正常绘图中这样做:

library(hexbin)
library(lattice)

data <- read.table("textfile.txt", as.is=TRUE);

xpts <- data[,1];
ypts <- data[,2];

jpeg('plot.jpg', width = 1000, height = 1000);
plot(xpts, ypts);
dev.off();

然后我得到以下图像:

在此处输入图像描述

然后我在绘图函数中使用 ylim 将我自己的 y 轴限制从 0 设置到 10:

library(hexbin)
library(lattice)

data <- read.table("textfile.txt", as.is=TRUE);

xpts <- data[,1];
ypts <- data[,2];

jpeg('plot.jpg', width = 1000, height = 1000);
plot(xpts, ypts, ylim=c(0,10));
dev.off();

然后我得到以下图像:

在此处输入图像描述

我必须制作一个十六进制图。它在没有范围限制的情况下工作得很好,如下所示:

library(hexbin)
library(lattice)

data <- read.table("textfile.txt", as.is=TRUE);

xpts <- data[,1];
ypts <- data[,2];

bin <- hexbin(x=xpts, y=ypts);

jpeg('hexplot.jpg', width = 1000, height = 1000);
plot(bin);
dev.off();

我得到以下图像:

在此处输入图像描述

然后,当我尝试在 hexbin 上设置类似的 ylim 时,出现错误。我已经尝试过 ybnds,因为它是其他人尝试过的东西,但我不知道如何设置范围。我有这样的事情:

library(hexbin)
library(lattice)

data <- read.table("textfile.txt", as.is=TRUE);

xpts <- data[,1];
ypts <- data[,2];

bin <- hexbin(x=xpts, y=ypts, ybnds=c(0,10));

jpeg('hexplot.jpg', width = 1000, height = 1000);
plot(bin);
dev.off();

我收到以下错误:

hexbin 中的错误(x = xpts,y = ypts,ybnds = c(0, 10)):'ybnds' 必须包含范围(y)执行停止

我也尝试过 ylim,但似乎无法将它用于 hexbin。如果有人能帮助我,那就太好了——真的很感激。

4

1 回答 1

2

尝试限制数据输入:

data <- read.table("textfile.txt", as.is=TRUE);

xpts <- data[,1][ data[,2] <= 10 & data[,2]>=0] 
ypts <- data[,2][ data[,2] <= 10 & data[,2]>=0]

(您不需要在行尾结束分号。)

于 2013-07-04T22:34:12.073 回答