Недавно появилось несколько опрятных применений ggplot2, и были опубликованы частичные или полные решения:
ggheat примечателен тем, что он скорее разбивает метафору ggplot, просто рисует, а не возвращает объект.
Варианты фигурных скобок примечательны тем, что ни одна из них не соответствует концепции высокого уровня ggplot2 (например, вы должны указывать диапазон точек, которые хотите разбить, а затем где-нибудь еще указать геометрию того, как вы хотите диапазон отображается - скобка, коробка, пурпурная корова и т.д.).
ggplot2 book (который я закажу в ближайшее время и прочитаю 2 онлайн-главы), похоже, касается использования грамматики и функций, а чем писать новые или широко распространять существующие.
Я хотел бы научиться добавлять определенную функцию или разрабатывать новую геометрию и делать это правильно. ggplot2
может не предназначаться как общий графический пакет таким же образом, что grid
или базовая графика, но есть очень много графиков, которые являются только шагом или двумя расширениями из существующей геометрии ggplot2. Когда возникают такие ситуации, я могу собрать достаточно объектов, чтобы что-то сделать один раз, но что, если мне понадобится один и тот же сюжет несколько десятков раз? Что делать, если другие люди любят это и хотят использовать его - теперь им приходится клонировать через один и тот же процесс каждый раз, когда они хотят этот график. Мне кажется, что правильное решение заключается в добавлении в stat_heatplot
и geom_heatplot
, или для добавления geom_Tuftebox
для графических полей Tufte и т.д. Я никогда не видел примера расширения ggplot2; просто примеры того, как его использовать.
Какие существуют ресурсы, чтобы углубиться в ggplot2 и начать распространять его? Меня особенно интересует способ высокого уровня для определения диапазона на оси, как описано выше, но общие знания о том, что делает гаджет ggplot2, также приветствуются.
Отсутствует когерентная направляющая (которая редко существует для достаточно продвинутого мастеринга и, следовательно, может не существовать здесь), как можно было бы узнать об внутренних деталях? Проверка источника, очевидно, является одним из способов, но с каких функций начать и т.д.