library(ggplot2)
## Warning: пакет 'ggplot2' был собран под R версии 4.2.1
library(AER)
## Загрузка требуемого пакета: car
## Загрузка требуемого пакета: carData
## Загрузка требуемого пакета: lmtest
## Загрузка требуемого пакета: zoo
## 
## Присоединяю пакет: 'zoo'
## Следующие объекты скрыты от 'package:base':
## 
##     as.Date, as.Date.numeric
## Загрузка требуемого пакета: sandwich
## Загрузка требуемого пакета: survival
library(gridExtra)
library(dplyr)
## 
## Присоединяю пакет: 'dplyr'
## Следующий объект скрыт от 'package:gridExtra':
## 
##     combine
## Следующий объект скрыт от 'package:car':
## 
##     recode
## Следующие объекты скрыты от 'package:stats':
## 
##     filter, lag
## Следующие объекты скрыты от 'package:base':
## 
##     intersect, setdiff, setequal, union
library(tidyr)

x <- runif(1000, 10, 20)
y <- rnorm(1000, 10, 2)
z <- rchisq(1000, 4)

data <- data.frame(x, y, z)
data1 <- data %>% pivot_longer(cols = "x":"z", values_to = "Values", names_to = "Names")

ggplot(data = data1, aes(x = Names, y = Values, fill = Names)) + geom_violin() + theme_bw() + scale_fill_manual(values = c("lightblue", "darkslateblue","darkblue"))

gapminder <- read.csv("https://raw.githubusercontent.com/plotly/datasets/master/gapminderDataFiveYear.csv")

g1 <- ggplot(data = gapminder, aes(x = continent, y = lifeExp, fill = continent)) + geom_violin() + theme_bw() + 
  scale_fill_manual(values = c("#261a2b", "#442d3f", "#716da6", "#9793c6", "#d1ceed")) + ggtitle("Скрипичный график по gapminder")

g2 <- ggplot(data = gapminder, aes(x = continent, y = lifeExp, fill = continent)) + geom_violin() + theme_bw() + 
  scale_fill_manual(values = c("#261a2b", "#442d3f", "#716da6", "#9793c6", "#d1ceed")) + geom_boxplot(width=0.1) + ggtitle("Скрипичный график по gapminder и ящик с усами")

data(mtcars)
str(mtcars)
## 'data.frame':    32 obs. of  11 variables:
##  $ mpg : num  21 21 22.8 21.4 18.7 18.1 14.3 24.4 22.8 19.2 ...
##  $ cyl : num  6 6 4 6 8 6 8 4 4 6 ...
##  $ disp: num  160 160 108 258 360 ...
##  $ hp  : num  110 110 93 110 175 105 245 62 95 123 ...
##  $ drat: num  3.9 3.9 3.85 3.08 3.15 2.76 3.21 3.69 3.92 3.92 ...
##  $ wt  : num  2.62 2.88 2.32 3.21 3.44 ...
##  $ qsec: num  16.5 17 18.6 19.4 17 ...
##  $ vs  : num  0 0 1 1 0 1 0 1 1 1 ...
##  $ am  : num  1 1 1 0 0 0 0 0 0 0 ...
##  $ gear: num  4 4 4 3 3 3 3 4 4 4 ...
##  $ carb: num  4 4 1 1 2 1 4 2 2 4 ...
g3 <- ggplot(data = mtcars, aes(x = as.character(cyl), y = mpg, fill = as.character(cyl))) + geom_violin() + theme_bw() + 
  scale_fill_manual(values = c("#29354B", "#4C8891", "#A0C8C3")) + ggtitle("Скрипичный график по mtcars")

g4 <- ggplot(data = mtcars, aes(x = as.character(cyl), y = mpg, fill = as.character(cyl))) + geom_violin() + theme_bw() + 
  scale_fill_manual(values = c("#29354B", "#4C8891", "#A0C8C3")) + geom_boxplot(width=0.1) + ggtitle("Скрипичный график по mtcars и ящик с усами")

grid.arrange(g1, g2, g3, g4, ncol = 2)