R 带条件的几何点颜色分配
我有以下和平的准则:R 带条件的几何点颜色分配,r,ggplot2,colors,R,Ggplot2,Colors,我有以下和平的准则: ggplot(data = afirmaciones[afirmaciones$prueba==x, ], aes(x = 1, y = Afirmacion_d)) + geom_point(size = 20, stroke = 5, aes(col
ggplot(data = afirmaciones[afirmaciones$prueba==x,
],
aes(x = 1,
y = Afirmacion_d)) +
geom_point(size = 20,
stroke = 5,
aes(color = porcentaje),
show.legend = F) + facet_wrap(~agregacion) +
geom_text(aes(label = porcentaje),
color = "white",
size = 8) +
theme(
panel.background = element_rect(color = "#575756",
size = 1.1,
linetype = "solid",
fill = "white"),
panel.grid.major.y = element_line(size = 0.1,
linetype = "dotted",
color = "#575756"),
axis.title = element_blank(),
axis.text.x = element_blank(),
strip.background = element_rect(fill = "white"),
strip.text = element_text(colour = "#575756",
size = 20),
axis.text.y = element_text(color = "#575756",
size = 22)
)
返回以下绘图:
我想根据变量“porcentaje”的数量给每个气泡上色。然而,我有一些特定的颜色在头脑中,我想气泡是彩色的,如果变量“porcentaje”落入一个特定的间隔。我想到的第一件事是生成一个变量“colors”,如果变量跟随变量,则该变量具有相同的颜色,然后使用scale\u color\u手动(values=afirmaciones[afirmaciones$prueba==x,“colors”])
将其添加到最后,但它不起作用。每种颜色的条件如下所示:
afirmaciones$colores <- NA
afirmaciones[afirmaciones$agregacion=="Nacional" |
afirmaciones$porcentaje < 20,"colores"] <- "#74ad68"
afirmaciones[afirmaciones$agregacion=="Nacional" |
afirmaciones$porcentaje > 20 &
afirmaciones$porcentaje < 40,"colores"] <- "#e0e165"
afirmaciones[afirmaciones$agregacion=="Nacional" |
afirmaciones$porcentaje > 40 &
afirmaciones$porcentaje < 70,"colores"] <- "#de9452"
afirmaciones[afirmaciones$agregacion=="Nacional" |
afirmaciones$porcentaje > 70,"colores"] <- "#cb4c43"
afirmaciones[afirmaciones$agregacion=="SENA" |
afirmaciones$porcentaje < 20,"colores"] <- "#74ad68"
afirmaciones[afirmaciones$agregacion=="SENA" |
afirmaciones$porcentaje > 20 &
afirmaciones$porcentaje < 40,"colores"] <- "#e0e165"
afirmaciones[afirmaciones$agregacion=="SENA" |
afirmaciones$porcentaje > 40 &
afirmaciones$porcentaje < 70,"colores"] <- "#de9452"
afirmaciones[afirmaciones$agregacion=="SENA" |
afirmaciones$porcentaje > 70,"colores"] <- "#cb4c43"
afirmaciones[afirmaciones$agregacion=="Diferencia" &
afirmaciones$porcentaje<=-5,"colores"] <- "#74ad68"
afirmaciones[afirmaciones$agregacion=="Diferencia" &
afirmaciones$porcentaje>-5 &
afirmaciones$porcentaje<=-0.1,"colores"] <- "#e0e165"
afirmaciones[afirmaciones$agregacion=="Diferencia" &
afirmaciones$porcentaje>-0.1 &
afirmaciones$porcentaje<=4.9,"colores"] <- "#de9452"
afirmaciones[afirmaciones$agregacion=="Diferencia" &
afirmaciones$porcentaje>5,"colores"] <- "#cb4c43"
亲切问候。这有点老套,但我认为这正是您所要寻找的(以
prueba==“ensamblaje”
为例):
pal40&afirmaciones$porcentaje<70~“#de9452”,
正确~“#cb4c43”
)
ggplot(数据=afirmaciones[afirmaciones$prueba==“ensamblaje”,
],
aes(x=1,
y=一个单位(单位:d))+
几何点(尺寸=20,
冲程=5,
aes(颜色=玻璃钢),
show.legend=F)+facet_wrap(~agregacion)+
比例\颜色\手动(值=pal,限制=pal)+
geom_文字(aes(标签=瓷器),
color=“白色”,
尺寸=8)+
主题(
panel.background=element_rect(color=“#575756”,
尺寸=1.1,
linetype=“solid”,
fill=“white”),
panel.grid.major.y=元素线(尺寸=0.1,
linetype=“虚线”,
color=“#575756”),
axis.title=元素_blank(),
axis.text.x=元素_blank(),
strip.background=element_rect(fill=“white”),
strip.text=element_text(color=“#575756”,
尺寸=20),
axis.text.y=元素_文本(color=“#575756”,
尺寸=22)
)
(通过更合适的缩放级别/更好的打印大小,圆圈看起来更像您想要的样子)在
afirmaciones$prueba==x
中x是什么?
无法复制您的代码,但我认为问题是scale\u color\u manual
应该是scale\u color\u identity
我同意。x应该是“prueba”的每一个类别。在图中复制的示例是x=“razonamiento”
。您的代码似乎很好。但是,“Diferencia”的颜色不正确,因为该类别的条件不同于其余两个类别。我试图将此条件添加到您的代码中,但我无法这样做。你能帮我吗?
structure(list(agregacion = structure(c(2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L, 2L, 1L,
2L, 1L, 2L, 1L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L, 3L,
3L), .Label = c("SENA", "Nacional", "Diferencia"), class = "factor"),
Afirmacion_d = structure(c(12L, 12L, 11L, 11L, 10L, 10L,
9L, 9L, 8L, 8L, 7L, 7L, 6L, 6L, 12L, 12L, 3L, 3L, 2L, 2L,
1L, 1L, 11L, 11L, 10L, 10L, 9L, 9L, 8L, 8L, 7L, 7L, 6L, 6L,
5L, 5L, 4L, 4L, 12L, 12L, 11L, 11L, 10L, 10L, 12L, 12L, 11L,
11L, 12L, 12L, 11L, 11L, 12L, 12L, 11L, 11L, 10L, 10L, 12L,
11L, 10L, 9L, 8L, 7L, 6L, 12L, 3L, 2L, 1L, 11L, 10L, 9L,
8L, 7L, 6L, 5L, 4L, 12L, 11L, 10L, 12L, 11L, 12L, 11L, 12L,
11L, 10L), .Label = c("Afirmación 12", "Afirmación 11", "Afirmación 10",
"Afirmación 9", "Afirmación 8", "Afirmación 7", "Afirmación 6",
"Afirmación 5", "Afirmación 4", "Afirmación 3", "Afirmación 2",
"Afirmación 1"), class = "factor"), prueba = c("competencias",
"competencias", "competencias", "competencias", "competencias",
"competencias", "competencias", "competencias", "competencias",
"competencias", "competencias", "competencias", "competencias",
"competencias", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "lectura", "lectura", "lectura", "lectura",
"lectura", "lectura", "mantenimiento", "mantenimiento", "mantenimiento",
"mantenimiento", "promoción", "promoción", "promoción", "promoción",
"razonamiento", "razonamiento", "razonamiento", "razonamiento",
"razonamiento", "razonamiento", "competencias", "competencias",
"competencias", "competencias", "competencias", "competencias",
"competencias", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje",
"ensamblaje", "ensamblaje", "ensamblaje", "ensamblaje", "lectura",
"lectura", "lectura", "mantenimiento", "mantenimiento", "promoción",
"promoción", "razonamiento", "razonamiento", "razonamiento"
), porcentaje = c("51", "53", "51", "52", "61", "62", "57",
"58", "47", "49", "55", "56", "48", "49", "61", "61", "49",
"50", "47", "48", "60", "60", "64", "65", "50", "50", "55",
"55", "61", "62", "41", "42", "38", "39", "36", "36", "50",
"50", "53", "54", "43", "43", "53", "54", "54", "55", "49",
"50", "50", "51", "45", "44", "48", "49", "63", "64", "57",
"57", "2", "1", "1", "1", "2", "1", "1", "0", "1", "1", "0",
"1", "0", "0", "1", "1", "1", "0", "0", "1", "0", "1", "1",
"1", "1", "-1", "1", "1", "0"), colores = c("#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#e0e165", "#cb4c43", "#e0e165", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#cb4c43", "#de9452", "#cb4c43",
"#de9452", "#cb4c43", "#de9452", "#de9452", "#de9452", "#de9452",
"#de9452", "#de9452", "#de9452", "#de9452", "#de9452", "#de9452",
"#de9452", "#de9452", "#de9452", "#de9452", "#de9452", "#de9452",
"#de9452", "#de9452", "#de9452", "#de9452", "#de9452", "#de9452",
"#de9452", "#de9452", "#de9452", "#e0e165", "#de9452", "#de9452",
"#de9452")), row.names = c("56772", "76081", "56752", "76086",
"56771", "76085", "56781", "76080", "56775", "76083", "56753",
"76084", "59239", "76082", "59235", "76108", "59236", "76107",
"56776", "76103", "56754", "76099", "56749", "76104", "59238",
"76100", "56764", "76106", "59240", "76102", "56763", "76098",
"56755", "76105", "56760", "76101", "59237", "76097", "56777",
"76088", "56773", "76089", "56761", "76087", "56750", "76095",
"56765", "76096", "56779", "76093", "56778", "76094", "56757",
"76090", "56756", "76091", "56766", "76092", "760811", "760861",
"760851", "760801", "760831", "760841", "760821", "761081", "761071",
"761031", "760991", "761041", "761001", "761061", "761021", "760981",
"761051", "761011", "760971", "760881", "760891", "760871", "760951",
"760961", "760931", "760941", "760901", "760911", "760921"), class = "data.frame")