Jsg*_*g91 4 python dictionary matplotlib
我有一本看起来像这样的字典:
1: ['4026', '4024', '1940', '2912', '2916], 2: ['3139', '2464'], 3:['212']...
Run Code Online (Sandbox Code Playgroud)
对于几百个键,我想用键作为 y 为其一组 x 值绘制它们,我尝试了这段代码,它给出了下面的错误:
for rank, structs in b.iteritems():
y = b.keys()
x = b.values()
ax.plot(x, y, 'ro')
plt.show()
ValueError: setting an array element with a sequence
Run Code Online (Sandbox Code Playgroud)
我对如何进行有点不知所措,所以任何帮助将不胜感激!
您需要手动构建 Xs 和 Ys 列表:
In [258]: b={1: ['4026', '4024', '1940', '2912', '2916'], 2: ['3139', '2464'], 3:['212']}
In [259]: xs, ys=zip(*((int(x), k) for k in b for x in b[k]))
In [260]: xs, ys
Out[260]: ((4026, 4024, 1940, 2912, 2916, 3139, 2464, 212), (1, 1, 1, 1, 1, 2, 2, 3))
In [261]: plt.plot(xs, ys, 'ro')
...: plt.show()
Run Code Online (Sandbox Code Playgroud)
结果:

| 归档时间: |
|
| 查看次数: |
3866 次 |
| 最近记录: |