【问题标题】:Lattice barchart has incorrect tick labels格子条形图的刻度标签不正确
【发布时间】:2014-05-12 15:47:16
【问题描述】:

我正在尝试在 lattice 中创建条形图,但 x 轴刻度线显示不正确:

dd <- data.frame(Year = 1990:1999, Count = 0:9)
barchart(Count ~ Year, data = dd, horizontal = FALSE)

x 轴的刻度标签应该是 1990、1991、... 而不是 1、2。

我不想在绘图前将年份转换为因子,因为我需要在 latticeExtra 中使用 c.trellis( ..., x.same = TRUE) 将条形图与 xyplot 组合,这似乎不适用于 factor 轴。

我该如何解决这个问题?

【问题讨论】:

    标签: r lattice


    【解决方案1】:

    您可以使用自定义axis 函数:

    barchart(Count ~ Year, data=dd, horizontal=FALSE,
             axis=function(side, ...) { 
               if (side=="bottom") 
                 panel.axis(at=seq_along(dd$Year), label=dd$Year, outside=TRUE, rot=0, tck=0) 
               else axis.default(side, ...)
             })
    

    【讨论】: