有一个字典,如:a = {('1','2'):10,('3','4'):20,('8','11'):85,.. } 我希望在python中有一个3D条形图,使得关键部分中的第一个数字位于x轴,关键部分中的第二个数字位于y轴,值位于z轴。例如,('1','2'):10表示x = 1,y = 2,z = 3 我在编写Python代码以获得3D条形图时遇到的问题是:
键是字符串,我不能使用int()因为索引字典有点不同。
大约有50万点,我不知道如何处理它们。如果我一次将所有内容放入列表中,它将占用我的RAM。
答案 0 :(得分:0)
要制作图表,您需要在三个不同的列表中包含x,y
和z
:
x, y, z = [], [], []
for k, v in a.iteritems():
x.append(int(k[0]))
y.append(int(k[1]))
z.append(v)
如果您遇到内存问题,可以对某些值进行采样,例如在for循环的开头插入一个条件,如:
from random import randint
for k, v in a.iteritems():
if randint(0,9)==9:
continue
...
这将获得1/10的分数。