【发布时间】:2013-05-22 13:28:38
【问题描述】:
我正在尝试绘制一个图表,其中 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)非数字轴(1、2)的示例,但是我没有成功寻找类似的东西。不是专门寻找某人来解决我的问题,因此,帮助我找到解决方案的示例、文档或技术的链接非常受欢迎。谢谢。
【问题讨论】:
-
你能创建一个你想要的快速草图或模型吗?这将大大改善这个问题。另外,您愿意放弃“xYplot”功能吗? 'ggplot2' 或 'grid' 包更灵活,学习和实施可能比将 'xYplot' 修改成你想要的形状更省力。
-
@Dinre,是的,我要创建草图。是的,只要我能够满足我的需求,我愿意使用任何东西。感谢您向我推荐 ggplot2 和网格。