2013-06-09 5 views
3

я не знаю, если вы видели некоторые нежелательные шрифт полужирный лица, как картинке ниже:Нежелательные полужирным шрифтом, помещая несколько графиков ggplot в том же файле

enter image description here

Как вы видите третью строку смелый, а другие - нет. Это происходит со мной, когда я пытаюсь использовать ggplot() с lapply() или специально mclapply(), чтобы создать тот же шаблон диаграммы на основе разных данных и поместить все результаты в виде разных диаграмм в одном файле PDF.

Одним из решений является, чтобы избежать использования lapply(x, f), когда f() это функция, которая возвращает ggplot() участок, но я должен сделать это для комбинирования карт (т.е. в качестве входных данных для grid.arrange()) в той или иной ситуации.

Извините, что не смог предоставить вам воспроизводимый пример, я очень старался, но не был успешным, потому что размер кода и данных слишком велик с несколькими вложенными функциями, и когда я уменьшил сложность, чтобы сделать воспроизводимый пример, проблема не бывает.

Я задал вопрос, потому что я догадался, что кто-то столкнулся с таким же опытом и знает, как его решить.

+0

[Как сделать большой R воспроизводимый пример?] (Http://stackoverflow.com/questions/5963269/how-to-make-a-great-r-reproducible-example) – Arun

+0

Он правильно. Я подозреваю, что знаю, что это вызывает, но повторите попытку с воспроизводимым примером. Если ничего другого, создание простого примера часто помогает вам найти проблему самостоятельно ... – SlowLearner

+0

Я пробовал снова, с небольшими программами с низкой степенью сложности (в качестве воспроизводимого примера) ошибка не возникает.Поэтому я надеюсь, что кто-то уже столкнулся с проблемой и знает, как ее решить, даже без воспроизводимого примера. – Ali

ответ

2

Моя интуиция заключается в том, что на самом деле она не печатается полужирным шрифтом, а по какой-то причине дважды печатается, что затем выглядит полужирным. Это объясняет, почему в нем нет более простого примера. Особенно учитывая ваше упоминание о вложенных функциях и, возможно, о других сложных структурах, где легко получить побочную или подобную ошибку, я бы попытался сделать что-то, где вы можете точно увидеть, что нарисовано, - возможно, изучив length() возврата значение от apply().

Изменение порядка элементов вектора, так что порядок элементов в ключе отличается, также может помочь. Если вы последовательно получаете жирный шрифт на последнем элементе, это также говорит вам немного больше о том, где что-то идет не так.

Как упоминалось также в @Dinre, это также может быть связано с вашим устройством построения графика. Вы можете попробовать изменить свое устройство печати. У меня есть свои сомнения в этом, но, видя, что это непростая проблема. Вы также можете попытаться изменить положение клавиши, которая в зависимости от вашего устройства и настроек, может перемещать вас в блок сжатия или из него, тем самым изменяя, какие артефакты возникают.

+0

+1 для двойной печати. Тем не менее я понятия не имею, почему это происходит – Ali

0

Возпроизводимо пример и решение может быть следующим образом:

library(ggplot2) 

d <- data.frame(x=1:10, y=1:10) 
ggplot(data = d, aes(x=x, y=y)) + 
    geom_point() + 
    geom_text(aes(3,7,label = 'some text 10 times')) + 
    geom_text(data = data.frame(x=1,y=1), 
       aes(7,3, label = 'some text one time')) 

Когда мы пытаемся добавить ярлык geom_text() вручную вставив x и y не укорачивать данные. Затем такая же метка печатается столько раз, сколько количество строк, которые имеют наши данные. Длина данных может быть принудительно равна 1 путем замены данных в пределах geom_text().

plot

 Смежные вопросы

  • Нет связанных вопросов^_^