Ggplot2 расположение метки оси полярности
Это просто расширение для старого вопроса
ggplot2 стрелки полярных сюжетов
![Compass plot from MatLab]()
Вы найдете, что ось x находится вне круга most_out.
В ggplot2 я использую "panel.grid.major = theme_line (color =" black ", size = 0.2, linetype = 2)", чтобы получить пунктирный круг, как показано ниже:
Поэтому мой вопрос заключается в том, как сделать метку оси (180, 135, 90,.....) за пределами круга, потому что текст сливается с круговыми линиями.
Я пытаюсь использовать "hjust" или "vjust" для регулировки расстояния между текстом и осью. Но это не работает.
Итак, есть ли у вас некоторые идеи по этой проблеме?
Спасибо сначала!!!!
Ответы
Ответ 1
Вы не предоставили код для воспроизведения проблемы, так что это будет просто предположение.
Я использовал пробелы, в частности, \n
, чтобы перенести текст "в прошлое". Возможно, здесь может работать пользовательский форматтер. Вот как вы можете написать настраиваемый ярлык метки метки.
Если это не удается, вы всегда можете скрыть метки оси и нарисовать их самостоятельно, используя geom_text
, добавив еще один слой.
Надеюсь, это поможет. @hadley книга на ggplot2 очень хороша, кстати.
Ответ 2
Я столкнулся с этим вопросом, когда сам пытался сам решить проблему. Одно решение в значительной степени покрывается ответом на этот пост: Удалить лишнее пространство и кольцо на краю полярного участка
Вам нужно будет отрегулировать границы шкалы x в соответствии с вашими метками оси. Вам также понадобится создать новую шкалу, соответствующую радиальной длине ваших стрелок (шкала 0-300 в левой части графика), поскольку
axis.text = element_blank
также отбирает шкалу.