ggplot2 polar plot axis label location

守給你的承諾、 提交于 2019-12-05 17:57:30

问题


This is just a extension for a old question ggplot2 polar plot arrows

You will find the x axis is out of the most_out circle. In ggplot2, I use "panel.grid.major = theme_line(colour = "black", size = 0.2, linetype=2)" to get the dashed circle, just as below:

So my question is how to make the axis label (180, 135, 90, .....) outside of the circle, because the text are merge with the circular lines.

I try to use "hjust" or "vjust" to adjust the distance between text and axis. But it does not work. So do you have some ideas about this problem? Thanks first!!!!


回答1:


You have not provided code to reproduce the problem so this will be just a guess.

I've used whitespace, \n in particular, to move text "away" in the past. Perhaps a custom formatter might work here. Here is how you can write a custom tick mark label formatter.

If this fails, you can always hide the axis labels and paint them yourself using geom_text by adding another layer.

Hope this helps. @hadley's book on ggplot2 is very good, by the way.




回答2:


I came across this question while I was trying to fix a similar issue myself. One workaround is pretty much covered in the answer to this post: Remove extra space and ring at the edge of a polar plot

You would have to adjust the limits of the x scale to match your axis labels. You would also have to create a new scale bar corresponding to the radial length of your arrows (the 0-300 scale bar on the left side of your plot), since

axis.text = element_blank

takes the scale bar away as well.



来源:https://stackoverflow.com/questions/10788436/ggplot2-polar-plot-axis-label-location

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!