Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/gwt/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 轮廓图中z标签的控制_R_Lattice - Fatal编程技术网

R 轮廓图中z标签的控制

R 轮廓图中z标签的控制,r,lattice,R,Lattice,我正试图控制在使用晶格库中的contourplot()绘制的等高线图中应写入多少z标签。 我有30条等高线,但我只想标记前5条。我试过很多东西,比如 contourplot(z ~ z+y, data=d3, cuts=30, font=3, xlab="x axis", ylab="y axis", scales=list(at=seq(2,10,by=2))) contourplot(z ~ z+y, data=d3, cuts=30, font=3, xlab="x axis", ylab

我正试图控制在使用晶格库中的
contourplot()
绘制的等高线图中应写入多少z标签。
我有30条等高线,但我只想标记前5条。我试过很多东西,比如

contourplot(z ~ z+y, data=d3, cuts=30, font=3, xlab="x axis", ylab="y axis", scales=list(at=seq(2,10,by=2)))
contourplot(z ~ z+y, data=d3, cuts=30, font=3, xlab="x axis", ylab="y axis", at=seq(2,10,by=2))
但什么都不管用

另外,是否可以在同一个图形上绘制两个
contourplot()
?我试过了

contourplot(z ~ z+y, data=d3, cuts=30)
par(new=T)
contourplot(z ~ z+y, data=d3, cuts=20)
但它不起作用。

谢谢

您可以指定
标签
作为字符向量参数,并使用rep(“,5”)设置最后一个值,因此,对于您在前面关于轮廓的问题中提供的示例

 x = seq(0, 10, by = 0.5)
 y = seq(0, 10, by = 0.5)
 z <- outer(x, y)
 d3 <- expand.grid(x=x,y=y); d3$z <- as.vector(z)
 contourplot(z~x+y, data=d3)
 # labeled '5'-'90'
 contourplot(z~x+y, data=d3, 
    at=seq(5,90, by=5),
    labels=c(seq(5,25, by=5),rep("", 16) ),
    main="Labels only at the first 5 contour lines")
 # contourplot seems to ignore 'extra' labels
 # c() will coerce the 'numeric' elements to 'character' if any others are 'character'
 ?contourplot   # and follow the link in the info about labels to ?panel.levelplot
x=seq(0,10,by=0.5)
y=序列(0,10,by=0.5)
z以下是我的看法:

library(lattice)
x <- rep(seq(-1.5,1.5,length=50),50)
y <- rep(seq(-1.5,1.5,length=50),rep(50,50))
z <- exp(-(x^2+y^2+x*y))

# here is default plot
lp1 <- contourplot(z~x*y)    

# here is an enhanced one
my.panel <- function(at, labels, ...) { 
    # draw odd and even contour lines with or without labels
    panel.contourplot(..., at=at[seq(1, length(at), 2)], col="blue", lty=2)
    panel.contourplot(..., at=at[seq(2, length(at), 2)], col="red",
                      labels=as.character(at[seq(2, length(at), 2)]))
} 

lp2 <- contourplot(z~x*y, panel=my.panel, at=seq(0.2, 0.8, by=0.2))
lp3 <- update(lp2, at=seq(0.2,0.8,by=0.1))
lp4 <- update(lp3, lwd=2, label.style="align")

library(gridExtra)
grid.arrange(lp1, lp2, lp3, lp4)
库(晶格)
x
par(new=TRUE)
仅适用于基本图形。lattice是一个完全不同的图形引擎。