2011-11-08 2 views
5

Мне любопытно, можно ли изменить макет легенды ggplot, не переписывая функцию build_legend?Изменение макета легенды ggplot

Например:

Я хочу макет 2 * 2

а б
в г

, а не обычный 1 * 4 или 4 * 1 макета.

б с d

или

а
б
с
d

Большое спасибо,

MK

+1

Пожалуйста, не перекрещивайте сообщение - это отвлекает людей от ответа на вопросы, на которые, возможно, уже был дан ответ в другом месте. – hadley

+0

Спасибо Хэдли, я думал, что это было ограничено только между списками рассылки. – MKao

+0

Я собирался ответить на свой вопрос (с решением Кохке и его кредитами), так что другие люди, которые не входят в список рассылки, могут это увидеть, но было время, на которое я мог ответить на свой вопрос, поэтому я не мог опубликовать Это. – MKao

ответ

3

Я на самом деле не думаю, что это возможно с ggplot2, вы действительно имеют только два варианта: горизонтальный или вертикальный. Если вы хотите создать что-то более интересное, вам придется сделать это самостоятельно, создав подзаголовок с той же цветовой схемой, изменив размер и наложив его на свой сюжет (я бы предвидел нечто вроде небольшого facet_grid(), размещенного там, где это возможно).

... + opts(legend.direction="horizontal") 
... + opts(legend.direction="vertical") 
0

Компания Kohske опубликовала решение проблемы, но не будет доступна до следующей версии ggplot.

qplot(1:4, 1:4, colour = letters[1:4]) + guides(colour = guide_legend(nrow = 2, byrow = T)) 
+0

Ссылка на ответ Kohske на тот же вопрос в списке ggplot2: http://groups.google.com/group/ggplot2/msg/4a8b39ff690eaf48 –

+0

Спасибо, компетентный_tech и Брайан за редактирование и ссылки. Я сделаю все возможное, чтобы мои коды и формат были стандартными. Ура, – MKao

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