R:我应该如何创建网格图形?

时间:2012-08-18 18:45:28

标签: r plot lattice levelplot

  

目标

     

enter image description here

     

代码

require(lattice)

png('my_typing.png')
par(mfrow=c(2,1))

read.csv('race_data.csv')->sol
plot(sol$Race.., sol$WPM*sol$Accuracy, type='l')

# TODO: it wrongly substitutes the plot with levelplot
# TODO: I want two plots one below another, plot and then levelplot below
levelplot(cor(sol[1:5]))

帮助者问题

  
      
  1. 如何在一个PNG文件中将正常情节和特殊情节一起绘制?

  2.   
  3. 我是否应该将不同的绘图包(例如格子和网格)组合到基础?

  4.   

2 个答案:

答案 0 :(得分:3)

gridBase包,它为组合网格和基本图形输出提供了一些支持。

这是一个简单的例子:

library("grid")
library("gridBase")
library("lattice")

# example from levelplot help page
x <- seq(pi/4, 5 * pi, length.out = 100)
y <- seq(pi/4, 5 * pi, length.out = 100)
r <- as.vector(sqrt(outer(x^2, y^2, "+")))
g <- expand.grid(x=x, y=y)
g$z <- cos(r^2) * exp(-r/(pi^3))
p <- levelplot(z~x*y, g, cuts = 50, scales=list(log="e"), xlab="",
               ylab="", main="lattice levelplot",
               colorkey=FALSE, region=TRUE)

grid.newpage()
pushViewport(viewport(layout=grid.layout(2, 1,
                                         heights=unit(c(2, 1), "null"))))
vp <- pushViewport(viewport(layout.pos.row=1, layout.pos.col=1))
par(omi=gridOMI())
# base graphics
plot(1:10, main="base graphics plot")
popViewport()
# lattice plot
vp <- pushViewport(viewport(layout.pos.row=2, layout.pos.col=1))
print(p, vp=vp, newpage=FALSE)
popViewport()
popViewport()

gridBase example

答案 1 :(得分:0)

MR。在#R中,建议只使用一种类型的情节。格子函数不能与基函数互换,因此还应重新编程趋势线和标题等语法。否则,你会随着时间的推移和狗的一致性而产生混乱的混淆。

我正在尝试寻找替代方法来制作网格图形,以便正在进行写作。

创建网格图形的不同方法

  

<强> 1。使用格子-pkg,代码here

进行格制      

enter image description here

     

<强> 2。结合不同的情节-pkgs

     

MR。这种方式气馁,但rcs的做法here。根据MR,网格是"much more user friendly way of creating grid grapics" ,所以我认为值得学习,格子和ggplot2之类的东西是建立在网格之上的。请参阅本文,了解如何结合base -plotting-functions和grid -plotting-functions here