在R中使用levelplot设置xlim和ylim后,如何保持绘图连续?

在R中使用levelplot设置xlim和ylim后,如何保持绘图连续?,r,plot,levelplot,R,Plot,Levelplot,我绘制了一个图形,我想为它指定xlim和ylim值!但是,它不起作用。以下是我正在使用的函数: DensityPlotF <- function (xx, plotname) { library(RColorBrewer) library(latticeExtra) library(lattice) lattice.options(default.theme = standard.theme(color = FALSE))

我绘制了一个图形,我想为它指定xlim和ylim值!但是,它不起作用。以下是我正在使用的函数:

DensityPlotF <- function (xx, plotname)
{
        library(RColorBrewer)
        library(latticeExtra)
        library(lattice)
        lattice.options(default.theme = standard.theme(color = FALSE))
        cols <- colorRampPalette(brewer.pal(11, "RdBu"))
        ppi <- 300
        png(filename = plotname, width=6*ppi, height=6*ppi, res=ppi)
        print(levelplot(xx$rho ~ xx$r + xx$z, panel = panel.levelplot.points, col.regions = cols, xlab="R (Å)", ylab="z (Å)", xlim=c(0,10.0), ylim=c(-30,30)))
        dev.off()
}

cl2d <- read.table("cl_2d.dat", header=TRUE)
colnames(cl2d) <- c("r", "z", "rho")
DensityPlotF(cl2d, "cl2d.png")
最后,设置xlim和xlim之前的图形:

在我设置xlim和ylim之后,绘图看起来很奇怪。有没有一种简单的方法可以将绘图中的列显示在一起(即连续)

您想将“xlim=c(0,10.0),ylim=c(-30,30)”移动到levelplot内部,即,
打印(levelplot(..ylab=“z(Å)”,xlim=c(0,10.0),ylim=c(-30,30))

拆下ylab后面的支架


PS:没有足够的点数将其置于注释下

如果放大xlim和ylim值的旧绘图,则得到相同的绘图;两个图的颜色模式相似。然而,注册。白色条带:看起来这些条带在旧绘图中,但由于放大,在新绘图中可见。您可能需要检查数据,主要是x轴值和范围,您正在使用面板功能
panel.levelplot.points
。这将打印点而不是光栅(默认情况下)。尝试使用
panel=panel.levelplot.graster
。或者完全忽略这个论点。
#r z rho
6.500000e+00 -4.250000e+01 3.397767e-01
6.500000e+00 -4.200000e+01 3.246126e-01
6.500000e+00 -4.150000e+01 3.301116e-01
6.500000e+00 -4.100000e+01 3.289452e-01
6.500000e+00 -4.050000e+01 3.264456e-01