Como determinar a ordem das barras em um gráfico de barras matplotlib

Suponha que nós lemos alguns dados em um quadro de dados de pandas:

data1 = pd.read_csv("data.csv", "\t")

O conteúdo é assim:

Em seguida, defina uma função que deve nos fornecer um gráfico de barras horizontais, em que os comprimentos das barras representam valores e as barras são rotuladas com as chaves.

def barchart(data, labels):
    pos = arange(len(data))+.5    # the bar centers on the y axis
    barh(pos, data, align='center', height=0.25)
    yticks(pos, labels)

Então nós chamamos a função de enredo assim:

barchart(data1["val"], data1["key"])

que nos dá o seguinte enredo:

Agora, o que determina a ordem das barras?

Suponha que queremos as barras em uma ordem especial, digamos[C, A, D, F, E, B], como podemos impor isso?

questionAnswers(2)

yourAnswerToTheQuestion