5

I'm having some issues getting my ggplot alpha to be sufficiently dark for my plot.

Example code:

ggplot(mtcars, aes(x=mpg, color=factor(gear), alpha=factor(carb))) + stat_ecdf()

enter image description here

As you can see, whenever carb == 1, it's very difficult to see the plot elements. In my real world data set, the factor for color has four levels and the alpha factor has two levels. I was hoping to have the alpha a slightly lighter shade of the color, but more visible than how it's occurring in that example).

user20650
  • 24,654
  • 5
  • 56
  • 91
NewRRecruit
  • 507
  • 1
  • 5
  • 7

1 Answers1

7

You can adjust the alpha scale, as the user in the comment suggests, either by specifying a range or a specific set breaks to scale_alpha_discrete. That doesn't produce a very easy-to-read result, though:

ggplot(mtcars, aes(x=mpg, color=factor(gear), alpha=factor(carb))) + 
  stat_ecdf() + 
  scale_alpha_discrete(range=c(0.4, 1))

enter image description here

Another option would be to save color for the many-leveled factor and choose a different aesthetic for the few-leveled one, like maybe linetype

ggplot(mtcars, aes(x=mpg, linetype=factor(gear), color=factor(carb))) + 
  stat_ecdf()

enter image description here

For readability, though, faceting might be a better bet.

ggplot(mtcars, aes(x=mpg, color=factor(carb))) + 
  stat_ecdf() + facet_wrap(~gear, nrow=3)

enter image description here

arvi1000
  • 9,393
  • 2
  • 42
  • 52