0

I have a dataframe with 3 columns and several rows, with this structure

   Label   Year  Frequency
1      a      1      86.45
2      b      1      35.32
3      c      1      10.94
4      a      2      13.55
5      b      2      46.30
6      c      2      12.70

up until 20 years. I plot it like this:

ggplot(data=df, aes(x=df$Year, y=df$Frequency, fill=df$Label))+
  geom_col(position=position_dodge2(width = 0.1, preserve = "single"))+
  scale_fill_manual(name=NULL,
                    labels=c("A", "B", "C"),
                    values=c("red", "cyan", "green")) +
  scale_x_continuous(breaks = seq(0, 20, by = 1),
                     limits = c(0, 20)) +
  scale_y_continuous(expand = c(0, 0), 
                     limits = c(0, 90),
                     breaks = seq(0, 90, by = 10)) +
  theme_bw()

What I want to do is to add three normal distribution to the plot, so that each group of data (A, B, C) can be visually compared with the normal distribution more similar to its distribution, using the same colors (the normal distribution for label A will be red, and so on).

From the data used in here as an example, I will expect to see a red distribution higher and narrower than the green distribution, which will be shorter and wider. How can I add them to the plot?

D.K.
  • 47
  • 7
  • You may be able to use `geom_density` if you use `geom_histogram` with `aes(y=..density..)` – akash87 May 14 '19 at 15:46
  • Would you please share an example using my code (maybe add some other dummy data in the dataframe) above? – D.K. May 15 '19 at 15:04

0 Answers0