How to Make Violin Plots in R

preview_player
Показать описание
Violin plots are a hybrid of density plots and box plots that can help you get a sense of the distribution of variables.

#ggplot2 #datavizualization #rprogramming

Code used in this code clip:

library(tidyverse)
library(plotly)
library(IRdisplay)

data <- diamonds

colors <- c("#FFFFFF","#F5FCC2","#E0ED87","#CCDE57",
"#B3C732","#94A813","#718200")

# Violin plot with ggplot2
data %>% ggplot(aes(x="", y = carat)) +
geom_violin() +
geom_boxplot(width=0.1) +

# Side by side violin plot with ggplot2
data %>% ggplot(aes(x=color, y = carat, fill = color)) +
geom_violin(draw_quantiles = TRUE) +
geom_boxplot(width = 0.05) +
scale_fill_manual(values = colors)

# Violin plot with plotly
p <- data %>% plot_ly(x = "", y = ~carat, type = 'violin',
box = list(visible = TRUE, width = 0.2))


# Code for creating the plot outside a notebook environment with a plotly account:
# chart_link <- api_create(p, filename="violin_test")
# chart_link

Code Clips are basic code explanations in 3 minutes or less. They are intended to be short reference guides that provide quick breakdowns and copy/paste access to code needed to accomplish common data science tasks. Think Stack Overflow with a video explanation.

* Note: YouTube does not allow greater than or less than symbols in the text description, so the code above may not be exactly the same as the code shown in the video! For R that means I may use = for assignment and the special Unicode large < and > symbols in place of the standard sized ones for dplyr pipes and comparisons. These special symbols should work as expected for R code on Windows, but may need to be replaced with standard greater than and less than symbols for other operating systems.
Рекомендации по теме
Комментарии
Автор

Thank you so much, it was as clear as it gets! I'm having trouble adding color to the graph. I use the "+ scale_fill_manual(values = colors)" (after adding the color vector you put in your description (colors <- c("@", "@", "@", "@", "@", "@", "#718200")) but still every graph I get is white. What should I do? Thanks again!

andreaalbert
Автор

I want to use this code to produce violin plot and bar plot in my scientific publication. I have data for two traits for 140 treatments. My main question is how to arrange data for this plot and how to import it?

niranjanthakur
Автор

Can you share your diamond data set with us? I am trying to learn the violin plot for using my scientific article. One of the journal reviewers asked me to use the violin plot. Thank you for your help.

govindashrestha
Автор

Hi, I have been watching many tutorials now to make a violin plot, but I am still stuck. I get the error that "there is no package called 'IRdisplay', 'plotly' or 'Tidyverse', I'm new to R could you tell me how I could fix this?

BrunosSquirrel