dont know how to make the graph of poisson distribution

Maybe it needs a restart?

Anyway, try this. It uses gather instead:

library(tidyverse)
library(plotly)
x.values <- seq(0, 20, 1)
break.values <- seq(0, 20, 2)
y1 <- dpois(x.values, 9)
y2 <- dpois(x.values, 5)
y3 <- dpois(x.values, 1)

data.frame(x.values, y1, y2, y3) %>% 
  gather(-x.values, key = "lambda", value = "values") %>% 
  mutate(lambda = case_when(lambda == "y1" ~ "lambda = 5",
                            lambda == 'y2' ~ "lambda = 9",
                            lambda == 'y3' ~ "lambda = 1",
                            TRUE ~ NA_character_))

g <- ggplot(df3, aes(x.values, y = values, fill = lambda)) +
  geom_col(position = "dodge") +
  labs(x = "x-Werte", y = "Werte Poissonverteilungen", fill = NULL) +
  scale_x_continuous(breaks=break.values, labels=break.values)

ggplotly(g)