TramineR 图例位置和轴
TramineR legend position and axis
我正在使用 TraMineR,但我不知道如何安排我的情节。所以基本上我想在情节下添加图例并删除 x 和 y 轴之间的 space。欢迎任何帮助。
剧情:
示例代码:
seqdplot(Activities.seq, with.legend=FALSE)
legend("bottom", legend=attr(Activities.seq, "labels"),
fill=attr(Activities.seq, "cpal"),
inset=-.1, bty="o", xpd=NA, cex=.75,ncol=3)
seqplot
函数族提供了一系列参数来控制图例和坐标轴。查看 seqplot
的帮助页面(以及 plot.stslist.statd
的特定 seqdplot
参数)。
例如,您可以用 axes=FALSE
抑制 x 轴,用 yaxis=FALSE
抑制 y 轴。
要打印图例,您可以让 seqdplot
使用默认 with.legend=TRUE
选项自动显示它,并使用例如 cex.legend
控制字体大小,ltext
来控制它对于文本。您还可以使用 ncol
参数来设置图例中的列数。
seqplot
函数默认使用 layout
来组织图和图例之间的图形区域。如果您需要更精细的调整(例如更改绘图和图例周围的默认 par(mar=c(5.1,4.1,4.1,2.1))
边距),您应该单独创建绘图和图例,然后使用例如自己组织它们layout
或 par(mfrow=...)
。在这种情况下,应通过设置 with.legend=FALSE
创建单独的图形,这会阻止显示图例并禁用 layout
.
的自动使用
使用 seqlegend
最容易获得颜色图例。
我用 TraMineR
附带的 mvad
数据进行说明。首先是带有图例的默认图。注意使用 border=NA
来抑制过多的垂直黑线。
library(TraMineR)
data(mvad)
mvad.scode <- c("EM", "FE", "HE", "JL", "SC", "TR")
mvad.seq <- seqdef(mvad, 17:86,
states = mvad.scode,
xtstep = 6)
# Default plot with the legend,
seqdplot(mvad.seq, border=NA)
现在,我们抑制 x 轴和 y 轴并修改图例的显示
seqdplot(mvad.seq, border=NA,
axes=FALSE, yaxis=FALSE, ylab="",
cex.legend=1.3, ncol=6, legend.prop=.11)
以下是控制绘图与 x 轴和 y 轴之间 space 的方法
seqdplot(mvad.seq, border=NA, yaxis=FALSE, xaxis=FALSE, with.legend=FALSE)
axis(2, line=-1)
axis(1, line=0)
单独创建图例并减少图例周围的左右边距
op <- par(mar=c(5.1,0.1,0.1,0.1))
seqlegend(mvad.seq, ncol=2, cex=2)
par(op)
我正在使用 TraMineR,但我不知道如何安排我的情节。所以基本上我想在情节下添加图例并删除 x 和 y 轴之间的 space。欢迎任何帮助。
剧情:
示例代码:
seqdplot(Activities.seq, with.legend=FALSE)
legend("bottom", legend=attr(Activities.seq, "labels"),
fill=attr(Activities.seq, "cpal"),
inset=-.1, bty="o", xpd=NA, cex=.75,ncol=3)
seqplot
函数族提供了一系列参数来控制图例和坐标轴。查看 seqplot
的帮助页面(以及 plot.stslist.statd
的特定 seqdplot
参数)。
例如,您可以用 axes=FALSE
抑制 x 轴,用 yaxis=FALSE
抑制 y 轴。
要打印图例,您可以让 seqdplot
使用默认 with.legend=TRUE
选项自动显示它,并使用例如 cex.legend
控制字体大小,ltext
来控制它对于文本。您还可以使用 ncol
参数来设置图例中的列数。
seqplot
函数默认使用 layout
来组织图和图例之间的图形区域。如果您需要更精细的调整(例如更改绘图和图例周围的默认 par(mar=c(5.1,4.1,4.1,2.1))
边距),您应该单独创建绘图和图例,然后使用例如自己组织它们layout
或 par(mfrow=...)
。在这种情况下,应通过设置 with.legend=FALSE
创建单独的图形,这会阻止显示图例并禁用 layout
.
使用 seqlegend
最容易获得颜色图例。
我用 TraMineR
附带的 mvad
数据进行说明。首先是带有图例的默认图。注意使用 border=NA
来抑制过多的垂直黑线。
library(TraMineR)
data(mvad)
mvad.scode <- c("EM", "FE", "HE", "JL", "SC", "TR")
mvad.seq <- seqdef(mvad, 17:86,
states = mvad.scode,
xtstep = 6)
# Default plot with the legend,
seqdplot(mvad.seq, border=NA)
现在,我们抑制 x 轴和 y 轴并修改图例的显示
seqdplot(mvad.seq, border=NA,
axes=FALSE, yaxis=FALSE, ylab="",
cex.legend=1.3, ncol=6, legend.prop=.11)
以下是控制绘图与 x 轴和 y 轴之间 space 的方法
seqdplot(mvad.seq, border=NA, yaxis=FALSE, xaxis=FALSE, with.legend=FALSE)
axis(2, line=-1)
axis(1, line=0)
单独创建图例并减少图例周围的左右边距
op <- par(mar=c(5.1,0.1,0.1,0.1))
seqlegend(mvad.seq, ncol=2, cex=2)
par(op)