Python 3-从字典对绘制mapplotlib图
我是python新手——我为自己设置了一些统计练习来掌握语法。这个特殊的是绘制两个骰子的多次掷骰的结果 我已经创建了一个抛出列表,然后是一个字典,用于映射所有可能值2-12的每个结果的总抛出。我现在想用pyplot绘制这个频率。我已经将它复制回一个列表,以便按顺序进行排序,但我想不出一种方法来提取总数,只在图表上绘制它们。下面的代码给出了总计的一行,以及对应键2到12的一条直线。我想我在这里可能太辛苦了,所以任何提示都将不胜感激 谢谢,莎拉Python 3-从字典对绘制mapplotlib图,python,list,dictionary,matplotlib,graph,Python,List,Dictionary,Matplotlib,Graph,我是python新手——我为自己设置了一些统计练习来掌握语法。这个特殊的是绘制两个骰子的多次掷骰的结果 我已经创建了一个抛出列表,然后是一个字典,用于映射所有可能值2-12的每个结果的总抛出。我现在想用pyplot绘制这个频率。我已经将它复制回一个列表,以便按顺序进行排序,但我想不出一种方法来提取总数,只在图表上绘制它们。下面的代码给出了总计的一行,以及对应键2到12的一条直线。我想我在这里可能太辛苦了,所以任何提示都将不胜感激 谢谢,莎拉 from matplotlib import pypl
from matplotlib import pyplot
from random import *
diceTotal = []
totThrows = dict()
i = 0
numThrows = 100
#Create data
for i in range(numThrows):
diceTotal.append(randint(1,6) + randint(1,6))
#Store totals
for dice in diceTotal:
totThrows[dice] = totThrows.get(dice,0) + 1
#Sort totals by key
listThrows = list(totThrows.items())
listThrows.sort()
plotThrows = list(listThrows)
print(plotThrows)
pyplot.plot(plotThrows)
pyplot.show()
你的问题不清楚。但是,如果您想提取plotThrows
中的信息,只需按如下所示对其进行迭代
xvals = [x[0] for x in plotThrows]
yvals = [x[1] for x in plotThrows]
一种方法是以散点图的形式绘制
pyplot.scatter(xvals, yvals)
pyplot.show()
我希望这是你的问题。否则,你应该澄清你的问题以得到答案。谢谢你的回答-为没有有效沟通而道歉。我缺少的关键一行是为每个值提取第二个坐标的方法:yvals=[x[1]for x in plotThrows]这允许我只绘制这些值。-更重要的是,它展示了如何从字典项数组中提取值。