How can we use multiple geom_smooth in a single chart?
<p>I would like to use multiple <code>geom_smooth</code> layers in a single ggplot2 chart. When I try to do that, the color scheme gets screwed up. Here is an example demonstrating what is happening.</p>

<p>We construct a simple dataframe we want to visualize.</p>

<pre><code>df = data.frame(x = c("a", "b", "c"),
             y1 = seq(1, 3),
             y1_upr = seq(2, 4),
             y1_lwr = seq(0, 2),
             y2 = seq(2, 4),
             y2_upr = seq(2.5, 4.5),
             y2_lwr = seq(1.5, 3.5))
</code></pre>

<p>We can visualize y1 and y2 easily.</p>

<pre><code>plot_obj = ggplot(data = df, aes(x = x, group = 1)) + 
  geom_line(aes(y = y1, colour = "y1")) + 
  geom_line(aes(y = y2, colour = "y2")) +     
  scale_colour_manual("", breaks = c("y1", "y2"), values = c("blue", "red"))
plot_obj
</code></pre>

<p><a href="https://i.stack.imgur.com/s1og5.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/s1og5.png" alt="enter image description here"></a>
If we add one <code>geom_smooth</code>, the behavior is still as expected.</p>

<pre><code>plot_obj + 
  geom_smooth(aes(y = y1, ymin = y1_lwr, ymax = y1_upr), stat="identity", fill="blue", alpha=0.2)
</code></pre>

<p><a href="https://i.stack.imgur.com/vzztE.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/vzztE.png" alt="enter image description here"></a>
Lastly, we add the second <code>geom_smooth</code> layer.</p>

<pre><code>plot_obj + 
  geom_smooth(aes(y = y1, ymin = y1_lwr, ymax = y1_upr), stat="identity", fill="blue", alpha=0.2) + 
  geom_smooth(aes(y = y2, ymin = y2_lwr, ymax = y2_upr), stat="identity", fill="red", alpha=0.2)
</code></pre>

<p><a href="https://i.stack.imgur.com/cxFhg.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/cxFhg.png" alt="enter image description here"></a></p>

<p>Notice that the top line is no longer red in the last chart. Why is this happening and how can it be fixed? Thank you!</p>