【发布时间】:2014-09-22 16:44:46
【问题描述】:
我正在尝试绘制一个条形图,并在 4 年标记处获得刻度线,其下方有我得到的日期,但也有较小的刻度线表示每年的每个季度。
barchart(V3~V1, data = differences,origin=0,box.ratio=40, lty=0,reference=TRUE,stack=TRUE,par.settings=list (axis.text=list(cex=1.5), axis.line = list(lwd=3)),scales=list(y=list(tick.number=8, rot=90,alternating=1), x=list(at=c(6,18,30,42,54,66,78,90,102,114,126,138,150,162,174,186,198), labels=c("\n1996","","","","\n2000","","","","\n2004","","","","\n2008","","","","\n2012"),draw=TRUE,tck=1 )))
这是一些示例数据
01/31/1996 -7.3667
02/29/1996 0.9413
03/31/1996 9.3252
04/30/1996 0.3147
05/31/1996 8.8593
06/30/1996 10.0297
07/31/1996 0.64i3
08/31/1996 2.1397
09/30/1996 0.6759
10/31/1996 -1.5579
11/30/1996 2.9493
.... ....
goes to 2012..
现在这给了
| | | | | | | |
1996 2000 2004 and so on
所以我希望 x 轴看起来像
|||||||||||||||||||||||||||||
| | | | | | | |
1996 2000 2004 and so on
where | indicates tick of size 2 and | is size 1 for example
|
你如何在不同的时间间隔指定两个不同大小的刻度?谢谢。
跟随 MrFlick 的 cmets 更新
对于我当前的设置是否可以为 tck 使用 ifelse 语句,例如
barchart(V3~V1, data = differences,origin=0,box.ratio=40, lty=0,reference=TRUE,stack=TRUE,par.settings=list (axis.text=list(cex=1.5), axis.line = list(lwd=3)),scales=list(y=list(tick.number=8, rot=90,alternating=1), x=list(at=c(6,18,30,42,54,66,78,90,102,114,126,138,150,162,174,186,198), labels=c("\n1996","","","","\n2000","","","","\n2004","","","","\n2008","","","","\n2012"),draw=TRUE,tck=ifelse(some condition, 1,2 )))
其中某些条件可以以某种方式引用数字列表 6,18,30,42,54,66,78,90,102,114,126,138,150,162,174,186,198。是否可以以某种方式将其作为数组传递,以便 tck 可以引用它。即 array[i] % 18 == 0,类似这样的 tck 以某种方式遍历列表
【问题讨论】:
-
是的,一个措辞不当并标记为抱歉
-
@niels 编辑现有帖子比重新发布更详细的相同问题要好。请删除另一个,否则将被标记为重复并消失。
-
您应该能够在 Lattice(本书)网站上获得处理轴刻度的工作代码。第 8 章处理轴注释。