我有这样一个嵌套字典:
{'uvvm': {'0-250ms': 96, '500-750ms': 2}, 'usvv': {'0-250ms': 1},
'unsharedChunksVirtualVolume': {'0-250ms': 21}, 'ubvv': {'0-250ms': 60, '250-500ms': 2, '500-750ms': 3},
'unbvvh': {'0-250ms': 1}, 'ssvv': {'0-250ms': 101, '250-500ms': 1},
'sscc': {'0-250ms': 2}, 'sc': {'500-750ms': 2},
'qvv': {'0-250ms': 200, '500-750ms': 5}, 'qas': {'0-250ms': 4}}
内部键0-250
、250-500
、500-750
等并非对所有外部键都是统一的。我需要在不使用pandas的情况下绘制条形图,因为我们需要作为支持包的一部分进行收集,并且不能在客户机器中安装pandas
。请提供一种方法
op = dict(list(dictLatency.items())[i:i+10])
print(op)
inner_keys = ['0-250ms', '250-500ms', '500-750ms', '750-1000ms', '1000-1250ms',
'1250-1500ms', '1500-1750ms', '1750-2000ms', '2000-2250ms']
newDict = a:[[i, b.get(i, 0)] for i in inner_keys] for a, b in op.items()
print(newDict)
labels = op.keys()
这里是newDict
{'updateVirtualVolumeMetaData': [['0-250ms', 96], ['250-500ms', 0], ['500-750ms', 2], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'updateStorageProfileForVirtualVolume': [['0-250ms', 1], ['250-500ms', 0], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'unsharedChunksVirtualVolume': [['0-250ms', 21], ['250-500ms', 0], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'unbindVirtualVolume': [['0-250ms', 60], ['250-500ms', 2], ['500-750ms', 3], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'unbindAllVirtualVolumesFromHost': [['0-250ms', 1], ['250-500ms', 0], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'spaceStatsForVirtualVolume': [['0-250ms', 101], ['250-500ms', 1], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'setStorageContainerContext': [['0-250ms', 2], ['250-500ms', 0], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'setContext': [['0-250ms', 0], ['250-500ms', 0], ['500-750ms', 2], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'queryVirtualVolume': [['0-250ms', 200], ['250-500ms', 0], ['500-750ms', 5], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]], 'queryArrays': [['0-250ms', 4], ['250-500ms', 0], ['500-750ms', 0], ['750-1000ms', 0], ['1000-1250ms', 0], ['1250-1500ms', 0], ['1500-1750ms', 0], ['1750-2000ms', 0], ['2000-2250ms', 0]]}
它在列表[]
中显示值,而不是在字典{}
中显示值。
我希望内部键和值作为dict而不是list
您可以在外部字典中循环,然后在内部字典中循环,以绘制堆叠条形图:
PS:对于水平条,您可以将对
ax.bar
的调用更改为:相关问题 更多 >
编程相关推荐