3

我想绘制带有子列表的列表,每个列表都包含名称和分数。子列表item one = nameX-labelitem two = scoreY 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()
4

1 回答 1

0

假设你有一个元组列表,你可以用它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") 

在此处输入图像描述

于 2017-03-08T15:14:09.357 回答