0

I would like to change colour only for negative values but i cannot do it. code:

ggplot(venta_sector_mes) + 
  aes(x = venta_sector_mes$Mes, y = venta_sector_mes$progVVII, 
      color = venta_sector_mes$Sector) +
  geom_line() + 
  geom_point() + 
  labs (x = "Mes", y = "%prog VVII") +
  scale_color_manual(venta_sector_mes$Sector, 
                     values = c("cornflowerblue", "green4"), 
                     limits = c("P.G.C.", "P.F.T")) +
  geom_text(aes(label= sprintf("%1.1f%%", venta_sector_mes$progVVII)), 
                color = ifelse(venta_sector_mes$progVVII > 0, "black", "red"))

I would like to change "black" for the colour by default (in this case, by color according with sector (previously written:

scale_color_manual(venta_sector_mes$Sector,
                   values = c("cornflowerblue", "green4"), 
                   limits = c("P.G.C.", "P.F.T"))

enter image description here

Z.Lin
  • 28,055
  • 6
  • 54
  • 94
  • 3
    Make two `geom_text` calls, each with a subset of the data. – Axeman Mar 03 '19 at 23:03
  • The black text should follow the color of the lines. The red text should stay red. (That's my best guess at least.) – Axeman Mar 04 '19 at 00:59
  • 1
    Also, avoid using `$` in `aes(...)`. It's at best unnecessary & at worst (depending on your package version) detrimental to your plot. See [here](https://stackoverflow.com/a/32543753/8449629) for an explanation on the issue. – Z.Lin Mar 04 '19 at 02:24

0 Answers0