TraMineR 图上的图边距太大

Figure margins too large on TraMineR plot

我正在尝试按此处所示绘制类型图 http://traminer.unige.ch/preview-typology.shtml

在出现错误 Error in plot.new() : figure margins too large 之前,我只能在屏幕上显示 8 种类型。就我的UI而言,我无法让图形界面更高。

我正在尝试制作更多类型,有什么办法可以做到这一点吗?

这是我想做的情节。

seqIplot(f3.seq, group = cl1.4fac, sortv = "from.end",with.legend = "none", xtlab=c(rep(18:29, each = 1)))

'Figure margins too wide' 错误与您使用的图形设备有关。这意味着边距没有为图形本身留出足够的空间。

有几种可能的解决方法(可以组合使用)。

  1. 通过 seqplot 函数的 cols 参数更改图形区域的列数。

  2. 减小刻度线标签(cex.axis 参数)、标题(cex.main 参数)的大小并抑制轴标签。

  3. 抑制 y 轴和 x 轴(axesyaxis 参数)。

  4. 更改边距值 (par(mar=...))。

  5. 更改图形设备的默认参数,例如玩 pdf()png()widthheight 值。

我使用 TraMineR 附带的 mvad 数据来说明下面的前四个解决方案。

library(TraMineR)
data(mvad)
mvad.labels <- c("employment", "further education", "higher education", 
                 "joblessness", "school", "training")
mvad.scode <- c("EM", "FE", "HE", "JL", "SC", "TR")
mvad.seq <- seqdef(mvad[, 17:86], states = mvad.scode,
                   labels = mvad.labels, xtstep = 6)

diss <- seqdist(mvad.seq, method="LCS")
mvad.clus <- hclust(as.dist(diss), method="ward.D")
k <- 9
mvad.cl <- cutree(mvad.clus,k=k)

## changing text size and number of columns of graphical area   
seqdplot(mvad.seq, group=mvad.cl, border=NA, cols=3, 
         cex.axis=.5, cex.main=0.6, ylab='', xlab='')

## default margins are: par(mar=c(5, 4, 4, 2) + 0.1)
## setting 0 margins except for top
opar <- par(mar=c(0, 0, 2, 0) + 0.1) 
seqdplot(mvad.seq, group=mvad.cl, border=NA,  
         axes=FALSE, yaxis=FALSE)
par(opar) ## resetting default mar