Here is the Queryverse way of doing it:
rand('a':'f',100) |>
@groupby(_) |>
@map({char=key(_), count=length(_)}) |>
@vlplot(:bar, x="count", y="char:n")
It is not entirely clear though whether this starts with the kind of data structure you were asking for? Here we start with a Vector{Char}, not a Vector{String}, which you were asking about?