【发布时间】:2019-12-20 23:25:43
【问题描述】:
我有一本看起来像这样的字典:
data = {(-1.0, 4.0): 1, (2.0, 2.0): 12, (3.0, 1.0): 8}
我想制作一个如下所示的矩阵:
[[0. 0. 0. 0. 0.]
[1. 0. 0. 0. 0.]
[0. 0. 0. 12. 0.]
[0. 0. 0. 0. 8.]
[0. 0. 0. 0. 0.]]
字典中的每个键在我的矩阵中都是“坐标”(从左下角开始),轴的限制由我定义(xlim:-3、13、ylim:-6、8)未显示。
我尝试过这样做:
matrix = np.zeros((5,5))
for (x, y), z in data.items():
x = int(x)
y = int(y)
matrix[y,x] = z
但是我遇到了负尺寸错误。
我的最终目标是将我的字典绘制为某种直方图,其中坐标为 x,y,字典值 (freq) 为我的 z 维度或“深度”。
【问题讨论】:
-
将dict转换成pandas df并绘图
-
您的代码在我的电脑上运行良好
-
你能“标准化”你的坐标吗?也就是说,如果最小 x 为 -3,则将 3 添加到 每个 x-co,从而移动您的原点。或者类似 x = int(x + abs(minx))。
标签: python pandas numpy dictionary plot