我正在尝试绘制一个图表,其中x轴具有由数字数据创建的标签表示的非数字数据。让我用我的模拟例子解释一下。我的示例中使用的 data.log 文件可以在here [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值绘制为字符,就好像UID是一个字符串标签,但不是它的数值,因为它们不是顺序的,因此它们不是均匀分布在x轴上。
我已经在努力完成许多工作,我已经看到了有关因素(1,2,3)非数字轴({{3})的示例},1),但我没有成功寻找类似的东西。因此,不仅仅是寻找某人来解决我的问题,我还非常欢迎使用示例,文档或技术的链接来帮助我找到解决方案。感谢。
答案 0 :(得分:2)
这是使用ggplot2
和geom_pointrange
的解决方案:
library(ggplot2)
ggplot(data=a, aes(x = factor(UID),
y = NUMBER,
ymin = Lower,
ymax = Upper )) +
geom_pointrange() +
facet_grid(PERIOD~.)