I want to compare a number of violinplots. But I am running into a problem for cases where a group is empty: I would like an empty slot plotted so its easier to compare multiple plots.
lets say I have a dataframe:
df = data.frame("x"=rep(c(1:4), 3), y=rep(c(1:4), each=3))
df$y[df$x==3] = NA
so all of group 3 is NA and I use vioplot to plot it:
library(vioplot)
vioplot(y ~ x , df)
then I get the plot without group 3. Is there a way I can plot all groups 1:4 but 3 is just empty?
Thanks
I found a workaround solution for my specific problem using the at
argument:
df = data.frame("x"=rep(c(1:4), 3), y=rep(c(1:4), each=3))
df$y[df$x==3] = NA
library(vioplot)
vioplot(y ~ x , df, at=unique(df$x[! is.na(df$y)]), xaxt="n")
axis(1, at=unique(df$x))