R - TraMineR 旋转 ytlab

R - TraMineR rotate ytlab

我想知道是否可以在 TraMineR 中的 seqIplot 中旋转 ytlab。当我尝试使用序列的 row.names 时,我也会收到一条警告消息。

数据:

mc = structure(c(1, 1, 1, 2, 0, 0, 0, 0, 0, 0, 0, 1, 1, 2, 0,     0,     0, 
0, 0, 0, 0, 2, 1, 2, 0, 0, 0, 0, 0, 0, 1, 2, 1, 2, 0, 0, 0, 0, 
0, 0, 1, 1, 1, 2, 1, 1, 0, 0, 0, 0), .Dim = c(10L, 5L), .Dimnames = list(
    c("d Travel/Commute", "j Care for others", "r Religious", 
    "u Others", "e Cooking", "f Housework", "h Eating", "l Leisure", 
    "t TV/Radio", "o Telephone/Online Communication"), c("V1", 
    "V2", "V3", "V4", "V5")))

序列

sq = seqdef(mc, cpal =  heat.colors(3))

Iplot

seqIplot(sq, border = NA, ytlab = attributes(sq)$row.names, las = 2)

las = 2 论点显然不起作用。

您必须使用 axis() 指定 las 适用的轴。

您还需要指定刻度线所在的点。 seqIplot 使用 0-1 比例并在开始时进行一些调整。此外,要旋转标签,您必须使用 par(mar=...).

腾出一些空间

以下是如何为您的示例获取旋转标签:

step = nrow(mc)+3
par(mar=c(5,20,2,2))
seqIplot(sq, border = NA, ylab=NA, ytlab=FALSE)
axis(2, at=2.15/step + 1:10*(1/step), labels=rownames(sq), las = 2)

希望这对您有所帮助。