2012-05-28 2 views
10

метка Это просто расширение для старого вопроса ggplot2 polar plot arrows Compass plot from MatLabggplot2 полярная ось участка местоположение

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

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

+0

Без кода для воспроизведения трудно дать конкретные ответы. – Sim

+0

Я думаю, что вы должны представить отчет об ошибке, я недавно упомянул ту же проблему в списке рассылки ggplot2-dev, если вам нужен минимальный пример. – baptiste

+0

@boyang, почему мой ответ не приемлем? – Sim

ответ

1

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

Я использовал пробелы, \n в частности, чтобы переместить текст «вдалеке» в прошлом. Возможно, здесь может работать пользовательский форматтер. Вот как вы можете написать custom tick mark label formatter.

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

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

0

Я столкнулся с этим вопросом, пока сам пытался решить подобную проблему. Один из способов решения этой проблемы в значительной степени затронут в ответе на этот пост: Remove extra space and ring at the edge of a polar plot

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

axis.text = element_blank 

принимает масштабную линейку в стороне, а также.