在R中使用coplot函数来绘制特定区域的图表

4

我编写了一个coplot函数来创建基于z的分离图。首先,是否可以创建基于z的特定部分的图形,例如我想要从0到150的部分、150到200的部分,200到250等等?

all_pit_data<- read.table("ALL_PIT_DATA.csv",header=TRUE,sep=",")
cols <- terrain.colors(462)
windows()
coplot(all_pit_data$x1 ~ all_pit_data$y1 | all_pit_data$z1,
   number = 9,
   overlap = 0,
   col = cols[all_pit_data$z1],
   xlab= c("x", "z"), 
   ylab="y")

enter image description here

其次,我想要实现类似于这张图片的颜色填充效果。填充效果取决于z变量。您有任何想法吗?enter image description here

1个回答

1
回答您的第一个问题:
在coplot中,“given.values”参数允许您定义条件变量间隔(公式y ~ x | a中的a),但其输入格式是特定的。它必须是一个具有2列和n行的矩阵-第一列包含每个间隔的起始点,第二列包含每个间隔的结束点。

将z分成您上述的间隔:

创建带有间隔的矩阵:

given.z <- matrix(c(0, 150, 200, 250, 300, 350, 400, 450, 150, 200, 250, 300, 350, 400, 450, 500), nrow = 8, ncol = 2)

创建情节:
coplot(x1 ~ y1 | z1, data = all_pit_data, given.values = given.z, xlab= c("x", "z"), ylab="y")

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接