0

我正在尝试绘制一个图表,其中 x 轴具有由数字数据创建的标签表示的非数字数据。让我用我的模拟示例来解释。我的示例中使用的data.log文件可以在这里找到[pastie.org]。

执行我的代码时:

library('Hmisc')
# Please find the "data.log" file in http://pastie.org/7943338
data = read.table("data.log", col.names=c('DAY','PERIOD','UID','NUMBER'), colClasses=c("UID"="character"))
attach(data)
a = summarize(NUMBER, llist(PERIOD, UID), smedian.hilow, na.rm=T)
detach(data)
xYplot(Cbind(NUMBER, Lower, Upper)~numericScale(UID)|factor(PERIOD), data = a)

给我这个图形:

带有数字 x 轴的图形

我真正想要的是将 x 值绘制为字符,就好像 UID 是一个字符串标签一样,而不是作为它的数值,因为它们不是连续的,因此它们在 x 轴上的分布不均等。

我已经为实现这一目标做了很多努力,我已经看到有关因素(123)非数字轴(12)的示例,但我没有成功寻找类似的东西。不是专门寻找某人来解决我的问题,因此,帮助我找到解决方案的示例、文档或技术的链接非常受欢迎。谢谢。

4

1 回答 1

2

这是使用ggplot2and的解决方案geom_pointrange

library(ggplot2)
ggplot(data=a, aes(x     = factor(UID),
                   y     = NUMBER,
                   ymin  = Lower,
                   ymax  = Upper  )) +
  geom_pointrange() +
  facet_grid(PERIOD~.)

在此处输入图像描述

于 2013-05-22T15:06:30.767 回答