Ggplot2 расположение метки оси полярности

Это просто расширение для старого вопроса ggplot2 стрелки полярных сюжетов Compass plot from MatLab

Вы найдете, что ось x находится вне круга most_out. В ggplot2 я использую "panel.grid.major = theme_line (color =" black ", size = 0.2, linetype = 2)", чтобы получить пунктирный круг, как показано ниже: using GGplot2 Поэтому мой вопрос заключается в том, как сделать метку оси (180, 135, 90,.....) за пределами круга, потому что текст сливается с круговыми линиями.

Я пытаюсь использовать "hjust" или "vjust" для регулировки расстояния между текстом и осью. Но это не работает. Итак, есть ли у вас некоторые идеи по этой проблеме? Спасибо сначала!!!!

Ответ 1

Вы не предоставили код для воспроизведения проблемы, так что это будет просто предположение.

Я использовал пробелы, в частности, \n, чтобы перенести текст "в прошлое". Возможно, здесь может работать пользовательский форматтер. Вот как вы можете написать настраиваемый ярлык метки метки.

Если это не удается, вы всегда можете скрыть метки оси и нарисовать их самостоятельно, используя geom_text, добавив еще один слой.

Надеюсь, это поможет. @hadley книга на ggplot2 очень хороша, кстати.

Ответ 2

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

Вам нужно будет отрегулировать границы шкалы x в соответствии с вашими метками оси. Вам также понадобится создать новую шкалу, соответствующую радиальной длине ваших стрелок (шкала 0-300 в левой части графика), поскольку

axis.text = element_blank

также отбирает шкалу.