Co to jest wykres skrzypcowy?
Wykres skrzypcowy (ang. violin plot) pokazuje rozkład zmiennej ilościowej w grupach jako lustrzaną krzywą gęstości: im szerszy kształt na danej wysokości, tym więcej wyników w tym miejscu skali. Hintze i Nelson (1998) zaproponowali go jako połączenie wykresu pudełkowego z oszacowaniem gęstości, dlatego wewnątrz „skrzypiec” zwykle rysuje się wąskie pudełko z medianą i kwartylami.
Kiedy go użyć
Wykres skrzypcowy przydaje się, gdy porównujesz grupy i chcesz zobaczyć kształt rozkładu: skośność, dwa szczyty albo skupienie wyników przy końcu skali. Pudełko tego nie pokaże, bo opisuje rozkład tylko pięcioma liczbami. Weissgerber i in. (2019) zaliczają wykresy skrzypcowe, obok punktowych i pudełkowych, do rysunków, które odsłaniają dane zamiast je ukrywać, jak robi to wykres słupkowy ze średnimi.
Przykład
Porównano lęk przed egzaminem (skala 10–50) w dwóch grupach po 60 studentów: piszących egzamin online i w sali (dane symulowane). Pudełka są niemal identyczne: Me = 32.5 w obu grupach, kwartyle 23.0–38.0 online i 24.0–38.0 w sali. Dopiero skrzypce pokazują, że w grupie online rozkład ma dwa szczyty, w okolicach 22 i 38 punktów, a w sali – jeden.
Jak opisać w pracy
Na co uważać
- Kształt zależy od szerokości pasma. W przykładzie przy domyślnym paśmie i przy połowie tej szerokości widać dwa szczyty, a przy trzykrotnie szerszym – już tylko jeden. Podaj w podpisie, jakich ustawień użyto.
- Przy małej próbie gęstość jest zgadywaniem. Gdy w grupie jest kilkanaście osób, pokaż same punkty albo wykres raincloud, który łączy gęstość z surowymi danymi.
- Nieprzycięte skrzypce wychodzą poza skalę. Krzywa gęstości może sięgać wartości, których skala nie dopuszcza (np. poniżej 10), dlatego przycinaj ją do zakresu danych.
Jak dobrać typ rysunku do danych, pokazuje wpis Wykresy w pracy dyplomowej, a kształt rozkładu jednej zmiennej opisuje histogram.
Wykres skrzypcowy w R
Kod liczy medianę i kwartyle w obu grupach oraz sprawdza, ile szczytów ma krzywa gęstości przy różnej szerokości pasma. Rysunek powstaje w ggplot2 funkcją geom_violin() z dodanym geom_boxplot().
Kwartyle a kształt rozkładu
R
set.seed(7)
skala <- function(x) pmin(pmax(round(x), 10), 50) # wyniki w zakresie skali 10–50
online <- skala(c(rnorm(30, 22, 3.5), rnorm(30, 38, 3.5))) # lęk przed egzaminem: dwie podgrupy
sala <- skala(rnorm(60, 30, 11)) # jeden szczyt
d <- data.frame(forma = rep(c("online", "sala"), each = 60), lek = c(online, sala))
aggregate(lek ~ forma, d, function(x) round(c(Me = median(x), Q1 = quantile(x, .25, names = FALSE),
Q3 = quantile(x, .75, names = FALSE)), 1))
szczyty <- function(x, adjust = 1) { # liczba lokalnych maksimów gęstości
g <- density(x, adjust = adjust)$y
sum(diff(sign(diff(g))) == -2)
}
sapply(c(pasmo_0.5 = 0.5, pasmo_1 = 1, pasmo_3 = 3), function(a) szczyty(online, a))
# rysunek: ggplot(d, aes(forma, lek)) + geom_violin() + geom_boxplot(width = 0.12)Wynik w R
forma lek.Me lek.Q1 lek.Q3
1 online 32.5 23.0 38.0
2 sala 32.5 24.0 38.0
pasmo_0.5 pasmo_1 pasmo_3
2 2 1 Bibliografia oprogramowania
Wyniki pochodzą z uruchomienia pokazanego kodu w R 4.5.3 (funkcje pakietów base i stats); rysunek wykonano w ggplot2 4.0.2.
- R: R Core Team. (2026). R: A language and environment for statistical computing (Version 4.5.3) [Computer software]. R Foundation for Statistical Computing. https://www.R-project.org/
- ggplot2 (wersja 4.0.2): Wickham, H. (2016). ggplot2: Elegant graphics for data analysis. Springer. https://ggplot2.tidyverse.org
Najczęstsze pytania
Czym różni się wykres skrzypcowy od wykresu pudełkowego?
Pudełko pokazuje medianę, kwartyle i wąsy. Skrzypce dokładają kształt rozkładu, więc widać na nich np. dwa szczyty, których pudełko nie zdradzi.
Co oznacza szerokość wykresu skrzypcowego?
Szerokość na danej wysokości odpowiada gęstości wyników w tym miejscu skali. Szerzej znaczy, że więcej osób ma wyniki zbliżone do tej wartości.
Od ilu osób w grupie ma sens wykres skrzypcowy?
Nie ma jednej granicy. Przy kilkunastu osobach krzywa gęstości jest niestabilna, więc lepiej pokazać surowe punkty albo połączyć je ze skrzypcami.
Powiązane hasła
Poradniki, w których użyjesz tego pojęcia
Wykresy w pracy dyplomowej
Jaki wykres do jakich danych, błędy źle → dobrze, podpis rysunku i gotowe zdania opisu wykresu w rozdziale wyników.
Czytaj →PoradnikStatystyki opisowe w pracy
Co policzyć dla jakiej zmiennej, jak zbudować tabelę APA, ile miejsc po przecinku podać, jak pokazać braki danych i które wykresy wybrać – na jednym przykładzie z R.
Czytaj →Potrzebujesz wsparcia w analizie danych?
Wybierz ofertę dopasowaną do pracy dyplomowej albo profesjonalnego projektu naukowego.
Wyceń analizęOferta dla studentówBibliografia i dalsza literatura naukowa (APA 7)
- Hintze, J. L., & Nelson, R. D. (1998). Violin plots: A box plot-density trace synergism. The American Statistician, 52(2), 181–184. https://doi.org/10.1080/00031305.1998.10480559
- Weissgerber, T. L., Winham, S. J., Heinzen, E. P., Milin-Lazovic, J. S., Garcia-Valencia, O., Bukumiric, Z., Savic, M. D., Garovic, V. D., & Milic, N. M. (2019). Reveal, don’t conceal: Transforming data visualization to improve transparency. Circulation, 140(18), 1506–1518. https://doi.org/10.1161/circulationaha.118.037777 ● Otwarty dostęp
Cytowania BibTeX
@article{hintze1998violin, author={Hintze, Jerry L. and Nelson, Ray D.}, title={{Violin plots: A box plot-density trace synergism}}, journal={The American Statistician}, year={1998}, volume={52}, number={2}, pages={181--184}, doi={10.1080/00031305.1998.10480559}}@article{weissgerber2019reveal, author={Weissgerber, Tracey L. and Winham, Stacey J. and Heinzen, Ethan P. and Milin-Lazovic, Jelena S. and Garcia-Valencia, Oscar and Bukumiric, Zoran and Savic, Marko D. and Garovic, Vesna D. and Milic, Natasa M.}, title={{Reveal, don’t conceal: Transforming data visualization to improve transparency}}, journal={Circulation}, year={2019}, volume={140}, number={18}, pages={1506--1518}, doi={10.1161/circulationaha.118.037777}}