R:如何更改R格子xyplot中的条带文本

时间:2011-05-10 20:11:44

标签: r strip lattice

我正在尝试使用函数直方图来绘制一些数据的密度。 数据的样本格式如下:

   library(lattice)
   index<-c(1,1,1,2,2,2,2)
   freq<-c(3,4,6,3,6,2,2)
   D<-data.frame(index,freq)
   histogram(~D$freq|D$index)

我希望将索引号打印为每个直方图的条带文本(即在此示例中,分别在直方图上方的1和2而不是当前打印的D$index),但我不知道一个简单的方法 (我知道我必须使用strip.custom(),并正确地更改var.name,但我不知道如何根据我的索引迭代它。

2 个答案:

答案 0 :(得分:4)

如果您将索引变量更改为一个因子,您将获得默认行为,即在条带中打印木瓦级别:

library(lattice)
    index<-factor(c(1,1,1,2,2,2,2))
    freq<-c(3,4,6,3,6,2,2)
    D<-data.frame(index,freq)
    histogram(~D$freq|D$index)

只是为了好玩,您可以使用strip.default中的样式变量:

histogram(~freq|index, data=D, strip = 
      function(..., style){ strip.default(..., style = 4)}  )

答案 1 :(得分:2)

index成为factor

index <- c(1,1,1,2,2,2,2)
freq <- c(3,4,6,3,6,2,2)
D <- data.frame(index=factor(index), freq)
histogram(~D$freq|D$index)

Histogram with index

histogram(~freq|index, D)方式调用晶格函数更好。