我有一个具有以下结构的词典字典:
{'ytrain_0': {'Neut': 0,'hard': 143,'hard linked': 1507,'soft': 112,'soft linked': 1238},
'ytrain_102000': {'Neut': 426,'hard': 519,'hard linked': 829,'soft': 467,'soft linked': 759},
'ytrain_105000': {'Neut': 406,'hard': 489,'hard linked': 826,'soft': 499,'soft linked': 780}}
这只是一个例子。我的真实词典有78本字典。现在,我想为每个示例(train_0,ytrain_102000,ytrain_105000)
制作一个直方图。我该如何在python中做到这一点?我还没弄清楚。
而不是创建78个不同的图并自己调整一个图像。我想使用python在一张图像中制作78个图形。我知道我们可以使用mfrow()在R中做到这一点。但是我不知道如何在python中做到这一点?有人可以帮我吗?
我正在使用以下代码进行绘制:
output = []
for a in dictionary_test.keys():
output.append(dictionary_test[a])
import pandas as pd
pd.DataFrame(output).hist()
ax = pd.DataFrame(output).plot.bar(rot=0)
axes = pd.DataFrame(output).plot.bar(rot=0, subplots=True)
axes[1].legend(loc=2)
我得到以下图形:
如何确保每个子图的标题都不会出现在另一个图上?
答案 0 :(得分:0)
尝试一下:
dict = {'ytrain_0': {'Neut': 0,'hard': 143,'hard linked': 1507,'soft': 112,'soft linked': 1238},
'ytrain_102000': {'Neut': 426,'hard': 519,'hard linked': 829,'soft': 467,'soft linked': 759},
'ytrain_105000': {'Neut': 406,'hard': 489,'hard linked': 826,'soft': 499,'soft linked': 780}}
output = []
for a in dict.keys():
output.append(dict[a]['Neut'])
import pandas as pd
pd.DataFrame(output).hist()
并使用matplotlib库进行绘制