如何使用ggplot2格式化带有轴标签和旋转的R中的雷达图
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何使用ggplot2格式化带有轴标签和旋转的R中的雷达图相关的知识,希望对你有一定的参考价值。
我在r中有一张雷达图表,按月显示百分比。我想要
- 更改图表,使Jan以90%的角度开始,而不是向右旋转
- 更改图表,以便百分比的标签显示在图表中而不是左侧
坏图表如下
我想复制的好图表如下
雷达图的代码如下
library(reshape2)
library(ggplot2)
library(dplyr)
Group <- factor(c("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"),
levels = c("Jan", "Feb", "Mar", "Apr", "May", "Jun",
"Jul", "Aug", "Sep", "Oct", "Nov", "Dec"))
Urban <- c(-0.61, 0.13, 0.24, -0.30, -0.12, -1.24, 0.74, 0.55, 0.80, .2, .2, .2)
Rural <- c(1.02, -0.40, 0.73, 0.17, 0.68, 1.21, -1.35, -0.84, -1.27, .2, .2, .2)
Total <- c(0.41, -0.27, 0.97, -0.13, 0.56, -0.03, -0.61, -0.29, -0.47, 0.4, 0.4, 0.4)
# data preparation
df = data.frame(Group = Group,
Urban = Urban,
Rural = Rural,
Total = Total)
df.m <- melt(df,
id.vars = c("Group"),
measure.vars = c("Urban", "Rural","Total"),
variable.name = "Demographics",
value.name = "Percentage")
# plot
ggplot(data = df.m,
aes(x = Group, y = Percentage, group = Demographics, colour = Demographics)) +
geom_polygon(size = 1, alpha= 0.2) +
ylim(-2.0, 2.0) + ggtitle("Radar") +
scale_x_discrete() +
theme_light() +
scale_color_manual(values = c("Red", "Blue","Black")) +
scale_fill_manual(values = c("Red", "Blue","Black")) +
coord_polar()
答案
我不知道使用普通的scale_y_continuous项来使y轴刻度出现在绘图中而不是边缘上,但是可以使用annotate
伪造它以创建ad hoc层。我们还可以用start
中的coord_polar
项来旋转极坐标变换。
ggplot(data=df.m, aes(x=Group, y=Percentage, group= Demographics, colour=Demographics )) +
annotate("text", x = 1, y = -2:2, label = -2:2, hjust = 1) +
geom_polygon(size = 1, alpha= 0.2) +
ggtitle("Radar") +
scale_y_continuous(labels = NULL) +
scale_x_discrete() +
scale_color_manual(values= c("Red", "Blue","Black"))+
scale_fill_manual(values= c("Red", "Blue","Black"))+
theme_light()+
coord_polar(start = -pi/12)
以上是关于如何使用ggplot2格式化带有轴标签和旋转的R中的雷达图的主要内容,如果未能解决你的问题,请参考以下文章
在 R 中使用带有 facet_wrap 的 ggplot2 显示多个轴标签
R语言ggplot2可视化轴标签重叠问题解决实战:修改轴标签字体轴标签垂直于坐标轴(或者旋转特定角度)
R语言ggplot2可视化:可视化离散(分类)变量的堆叠的直方图自定义堆叠直方图中不同分组条形的色彩(Histogram for Categorical Variable)自定义轴标签旋转的角度