使用textplot(gplots或PerformanceAnalytics)左对齐列

时间:2011-12-15 17:10:32

标签: r

我正在使用gplots中的textplot()在data.frame中将一些文本写入PDF设备(也尝试使用PerformanceAnalytics中的版本)。我的par()选项是默认选项,除了我更改字体/边距(CM是我在网站配置文件中定义的系列)

par( family = "CM" , omi = rep( .5 , 4 ) )

我正试图让“Plot”列保持左对齐。这是我失败的尝试......注意文本中的重叠

textplot( tableOfContents , show.rownames = FALSE , show.colnames = TRUE , hadj = 0 )

enter image description here

右对齐的工作正常:

textplot( tableOfContents , show.rownames = FALSE , show.colnames = TRUE , hadj = 1 )

enter image description here




修改的 如果其他人在texplot中正在努力对齐,我建议看看我写的这个修改版本: https://gist.github.com/1487363


EDIT2
您可能想要删除我的cex = 1修复程序。经过一些阅读后,我明白函数参数中的cex应该应用于par(cex),我认为这是混乱和过度工程,但似乎是一个R标准实践

1 个答案:

答案 0 :(得分:7)

查看源代码,我认为最好的方法是略微修改,以便x位置适应hadj,而不是保持不变。向开发人员提出此更改可能是值得的。以下是您可以下载修改版本的要点:

https://gist.github.com/1482973

然后只需使用source()在R中获取它,您应该可以使用正常的函数。

source('textplot.R')
n = 10
data = data.frame(Section=1:n, Plot=replicate(n, paste(LETTERS[sample(26, sample(20), replace=T)], collapse='')), Page=sort(rep(1:4, len=n)), stringsAsFactors=FALSE)

textplot(data, show.rownames = FALSE, show.colnames = TRUE, hadj=0)

enter image description here