2012-11-06 3 views
9

Мне очень понравился пакет directlabels для динамического позиционирования таблиц. Несмотря на то, что он все еще не идеален, он помогает разумно предотвращать перекрытие между метками диаграмм разброса со многими точками, например, специально для черновика диаграмм, а не для последней.Размер этикеток в directlabels geom_dl()

Однако я не могу найти изменение размера этикетки при использовании функции geom_dl(). Там в любом случае?

Я попытался передать size и cex как нормальный или aes() аргумент функции.

+0

воспроизводимый пример, пожалуйста. – metasequoia

ответ

9

Положить cex в список. Другие функции форматирования также должны быть помещены в список. Смотрите некоторые из примеров в ?directlabels::geom_dl

library(ggplot2) 
library(directlabels) 

dat = data.frame(x = 1:10, y = 1:10, z = letters[1:10]) 

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list(cex = 2, rot = -45, hjust = -.5)) 

enter image description here

EDIT

Метод тоже помещается в списке:

ggplot(dat, aes(x, y)) + 
    geom_point() + 
    geom_dl(aes(label = z), method = list("smart.grid", cex = 2)) 
+1

Спасибо, когда я пытаюсь добавить geom_dl (aes (label = z), method = "smart.grid", list (cex = 1, rot = -45, hjust = -.5)), Он говорит: Ошибка: ggplot2 не знает, как обращаться с данными списка классов. Не могли бы вы разрешить это? – Ali

+0

@AliSharifi, '" smart.grid "' тоже входит в список: 'geom_dl (aes (label = z), list (" smart.grid ", cex = 2))' –

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