Plotting text from a dictionary with Matplotlib
Your code might be a bit clearer without level &amp; start, preferring to manipulate just x &amp; y.

You might write a sorting helper function, and change the emoj loop to this:

    for x, emoj in enumerate(emoj_by_score(dictionary)):


You have some hard coded values that you could derive by inspecting the top input argument. On the whole, it doesn't seem so terrible. It is reasonably clear.