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

时间:2016-05-27 02:33:54

标签: r plot levelplot

我绘制了一个图表,我想指定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")

.dat文件如下所示:

#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

最后,设置xlim和xlim之前的图形: enter image description here

在我设置xlim和ylim后,情节看起来很奇怪。是否有一种简单的方法可以将图中的列全部显示在一起(即连续)?

enter image description here

1 个答案:

答案 0 :(得分:1)

你想在水平图内移动“ xlim = c(0,10.0),ylim = c(-30,30)”,即,print(levelplot(.... ylab="z (Å)", xlim=c(0,10.0), ylim=c(-30,30)))
ylab

之后立即删除大括号

PS:没有足够的分数来评论