2013-04-18 3 views
4

Я использую функцию worldmap из библиотеки Maps.R. Он работает в ggplot2.Размер легенды в ggplot2 worldmap

Я хотел бы сделать легенду немного больше. Я использую

theme(legend.key.size = unit(measure, "units")) 

My R терминал возвращается:

could not find function "unit" 

Любой ключ к пониманию того, что здесь происходит? Я считаю, что это правильный синтаксис в ggplot2 для настройки размера легенды.

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

+2

функциональный блок находится в библиотеке сетки. Возможно, эта библиотека не загружена в ваш сеанс. Попробуйте библиотеку (сетку) –

+0

Очень хорошо. Работает как шарм. Если ggplot2 зависит от сетки, почему R не загружала сетку при загрузке ggplot2? Возможно, это связано с другим вопросом, который у меня был на некоторое время. В чем разница между библиотекой() и require(), что лучше всего использовать? Или это зависит? (как и большинство этого) – bfb

ответ

4

unit Функция находится в grid пакете. Вы должны явно загрузить его и добавить его в свой путь поиска с

library("grid") 

Что касается Вашего вопроса Последующие в комментариях, так как ggplot2 потребности grid, grid загружали, когда ggplot2 был загружен, а его функции были доступны для ggplot2 , Однако он не был добавлен в глобальный путь поиска, поэтому его функции (grid) не найдены, когда вы пытаетесь вызвать их напрямую. Вызов library() (или require()) делает их доступными.

Разница между этими двумя функциями описана в их документации

library(package) и require(package) как загрузить пакет с именем package. require предназначен для использования в других функциях; он возвращает FALSE и дает предупреждение (а не ошибку, так как library() делает по умолчанию), если пакет не существует.

и в этой другой вопрос: What is the difference between require() and library()?

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