Python: построение подсписков на matplotlib.pyplot

Я хотел построить список с подсписками, каждый из которых содержал бы имя и счет. Подсписок item one = name как X-label, а также item two = score как Y label,

datacount = (("mike", 9), ("john", 8), ("smith", 7), ("niki", 7), ("garlick", 7),
             ("don", 7), ("ross", 7), ("darli", 6), ("nick", 6), ("perl", 6), 
             ("cat", 5), ("dona", 4))

Как я могу построить это в PLT?

Я попробовал это как его словарь, но он не показывает все имена и соответствующие оценки.

import matplotlib.pyplot as plt
datacount = D

plt.bar(range(len(D)), D.values(), align='center')
plt.xticks(range(len(D)), D.keys())

plt.show()

1 ответ

Решение

Предполагая, что у вас есть список кортежей, вы можете использовать zip распаковать элементы X и Y, а затем сделать гистограмму; tick_label может использоваться для обозначения вашей оси X:

import matplotlib.pyplot as plt 
%matplotlib inline

plt.figure(figsize = (10, 7))

X, Y = zip(*datacount)
ax = plt.bar(range(len(X)), Y, 0.6, align='center', tick_label = X, color="sienna") 

Другие вопросы по тегам