Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/319.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 3-从字典对绘制mapplotlib图_Python_List_Dictionary_Matplotlib_Graph - Fatal编程技术网

Python 3-从字典对绘制mapplotlib图

Python 3-从字典对绘制mapplotlib图,python,list,dictionary,matplotlib,graph,Python,List,Dictionary,Matplotlib,Graph,我是python新手——我为自己设置了一些统计练习来掌握语法。这个特殊的是绘制两个骰子的多次掷骰的结果 我已经创建了一个抛出列表,然后是一个字典,用于映射所有可能值2-12的每个结果的总抛出。我现在想用pyplot绘制这个频率。我已经将它复制回一个列表,以便按顺序进行排序,但我想不出一种方法来提取总数,只在图表上绘制它们。下面的代码给出了总计的一行,以及对应键2到12的一条直线。我想我在这里可能太辛苦了,所以任何提示都将不胜感激 谢谢,莎拉 from matplotlib import pypl

我是python新手——我为自己设置了一些统计练习来掌握语法。这个特殊的是绘制两个骰子的多次掷骰的结果

我已经创建了一个抛出列表,然后是一个字典,用于映射所有可能值2-12的每个结果的总抛出。我现在想用pyplot绘制这个频率。我已经将它复制回一个列表,以便按顺序进行排序,但我想不出一种方法来提取总数,只在图表上绘制它们。下面的代码给出了总计的一行,以及对应键2到12的一条直线。我想我在这里可能太辛苦了,所以任何提示都将不胜感激

谢谢,莎拉

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]这允许我只绘制这些值。-更重要的是,它展示了如何从字典项数组中提取值。