So, from the discussion above, I see two options:
using StatsPlots, Random
x = randn(1000, 16)
labels = map(x -> randstring(3), 1:16)
# OPTION-1
violin(permutedims(labels), x, xticks=:all, rotation=45, leg=false)
# OPTION-2
violin(x, xticks=(1:16, labels), rotation=45, leg=false)