2016-05-27 3 views
-1

Я построю график, который я хочу указать значения xlim и ylim для! Однако это не сработает. Вот функция, я использую:Как сохранить график непрерывным после установки xlim и ylim с использованием levelplot в R?

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

+0

Вы используете функцию панели 'panel.levelplot.points'. Это указывает на точки вместо растра, который по умолчанию. Попробуйте использовать 'panel = panel.levelplot.raster'. Или вообще не оставляйте этот аргумент. – BenBarnes

ответ

1

Вы хотите переместить "xlim = с (0,10.0), ylim = с (-30,30)" внутри levelplot, т.е.
print(levelplot(.... ylab="z (Å)", xlim=c(0,10.0), ylim=c(-30,30)))
Удалить брекеты сразу после ylab

PS: не достаточно очков, чтобы поставить его под комментарием

+0

, если вы увеличите масштаб изображения на старом графике для значений xlim и ylim, вы получите тот же сюжет; цветная картина похожа на оба графика. Однако, рег. белые полосы: похоже, что они есть на старом графике, но видны на новом графике из-за увеличения. Возможно, вы захотите проверить свои данные, в основном значения и диапазон по оси x, – SatishR

Смежные вопросы