Выравнивание по левому краю столбца с использованием textplot (gplots или PerformanceAnalytics) - PullRequest
6 голосов
/ 15 декабря 2011

Я записываю некоторый текст в data.frame на устройство PDF с помощью textplot () в gplots (также пытался использовать версию в PerformanceAnalytics).Мои параметры par () являются параметрами по умолчанию, за исключением того, что я изменяю шрифт / поля (CM - это семейство, которое я определил в своем профиле сайта)

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

Я пытаюсь получить столбец "График" длябыть оправданным.Вот моя неудачная попытка ... обратите внимание на совпадение в тексте

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 Ответ

7 голосов
/ 16 декабря 2011

Глядя на исходный код, я думаю, что лучший способ - это небольшая модификация, чтобы позиция x адаптировалась к hadj вместо того, чтобы оставаться постоянной. Возможно, стоит также предложить это изменение разработчику. Вот суть, где вы можете скачать модифицированную версию:

https://gist.github.com/1482973

Затем просто отправьте его в R с помощью source(), и вы сможете использовать эту функцию как обычно.

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...