为了逐级展示调查参与者的分布情况,我找到了最近发布的pyramid
软件包并尝试了它。由于x轴上的字体太大而且似乎没有其他格式选择来修复它,我意识到我不知道如何添加"其他选项"如金字塔中的......所允许的那样。
install.packages("pyramid")
library(pyramid)
level.pyr <- data.frame(left = c(1, 4, 6, 4, 41, 17),
right = c(1, 4, 6, 4, 41, 17),
level = c("Mgr", "Sr. Mgr.", "Dir.", "Sr. Dir.", "VP", "SVP+"))
pyramid(level.pyr, Laxis = seq(2,50,6), Cstep = 1, Cgap = .5, Llab = "", Rlab = "", Clab = "Title", GL = T, Lcol = "deepskyblue", Rcol = "deepskyblue", Ldens = -1, main = "Distribution of Participants in Survey")
同意,下面的情节看起来很奇怪,因为左侧和右侧是相同的,而不是男性和女性。但我的问题仍然是如何调用选项并执行类似&#34; Laxis.size = 2&#34; &#34; Raxis.font =&#34;粗体&#34;。
这个用于创建金字塔图的新包的替代方案包括plotrix,grid和base R,如下所示: population pyramid density plot in r 顺便说一句,如果有一个ggplot方法,我会欢迎尝试。
答案 0 :(得分:3)
与Roland和现在nrussell的猜测(显然没有看到代码)相反,在评论中表示,点参数将不传递给pyramid
的轴绘图例程,尽管如此是一个基本的图形功能。参数甚至没有传递给axis
电话,尽管这似乎是合理的。通过调用text()
构建x轴刻度标签。你可以破解文本调用来接受你选择的命名参数,它将通过点机制传递。您似乎对其他选项持开放态度,我建议使用plotrix::pyramid.plot
,因为Jim Lemon可以更好地记录他的例程,而且他们更可能会使用标准的R绘图惯例:
library(plotrix)
pyramid.plot(lx,rx,labels=NA,top.labels=c("Male","Age","Female"),
main="",laxlab=NULL,raxlab=NULL,unit="%",lxcol,rxcol,gap=1,space=0.2,
ppmar=c(4,2,4,2),labelcex=1,add=FALSE,xlim,show.values=FALSE,ndig=1,
do.first=NULL)
with( level.pyr, pyramid.plot(lx=left, rx=right, labels=level,
gap =5, top.labels=c("", "Title", ""), labelcex=0.6))