我创建了一个圆形网格,每行显示基于圆形大小的7个不同参数上的状态。这些参数以百分比表示,每种状态的总和为100。对于我的facet_grid,我想根据各个州(而不是整个网格)的比例为每个圆着色和设置大小。我将举例说明。
圆格
library(ggforce)
library(tidyverse)
library (ggplot)
library(reshape2)
d <- data.frame("state" = c("Alabama", "Florida", "Washington", "New York"),
"A" = c(20, 25, 45, 11),
"B" = c(25, 25, 10, 4),
"C" = c(50, 5, 20, 5),
"D" = c(5, 45, 25, 80))
d1 <- melt(d, id.vars = "state")
p3 <- ggplot(d1) +
geom_circle(aes(x0 = 0.5, y0 = 0.5, r = value, color = "white", fill = value), data = d1) +
scale_fill_continuous(low = "#5fc5bd", high = "#f37021") +
scale_color_manual(values = "white") +
coord_fixed() +
theme_bw() +
theme(panel.grid.major = element_blank(),
panel.grid.minor = element_blank(),
axis.ticks = element_blank() ,
legend.position = "none",
panel.border = element_blank(),
axis.title.x=element_blank(),
axis.title.y=element_blank(),
axis.text = element_blank())
p3 <- p3 + facet_grid(state ~ variable, labeller=label_wrap_gen(width=10)) +
theme(strip.text.x = element_text(size = 10, face = "bold"),
strip.text.y = element_text(size = 10, face = "bold"),
strip.background = element_rect(colour = "gray", fill = "white"))
p3
到目前为止,图形上的圆圈正在按照整个数据集中的最大值进行缩放。我希望它考虑每个州的值并根据每个州的值缩放圆的大小-因此,阿拉巴马州的最大圆应为C,颜色为橙色(该州的最大值),其他州也应如此。任何想法都会非常有帮助,谢谢。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句