完成子图图形的步骤

时间:2018-07-26 16:18:21

标签: python matplotlib

我在完成此子图时遇到了一些麻烦。此时,我需要做的就是摆脱底部的文本混乱,然后为每个子图中的每个条添加单独的X标签。 (所有子图共享同一组X值)

这是我到目前为止所拥有的...

dictlist = []

for i in quarters:
    d = defaultdict(int)
    x = df['Activity'][df['QuarterYear']==i].tolist()
    for j in x:
        d[j] += 1
    dictlist.append(d)

这将返回一个包含4个词典的列表。每个人都有每个季度的键和值计数。这是字典列表[0]

defaultdict(int,             {'CARE COORDINATION':11052,              “综合护理管理”:1403,              “健康促进”:6575,              “患者和家庭支持”:9731,              “推荐给社会”:1888年,              “过渡护理”:239})

这是我的图形代码

f, axes = plt.subplots(2, 2, figsize=(7, 7), sharex=True, sharey=True)

axes[0,0].bar(dictlist[0].keys(), dictlist[0].values())
axes[0,0].set_xlabel(quarters[0])
#axes[0,0].set_xticks(range(0,7))
#axes[0,0].set_xticklabels([*dictlist[0]], fontdict=None, minor=False)
for p in axes[0,0].patches:
    axes[0,0].annotate(str(p.get_height()), xy=(p.get_x(), p.get_height()))

axes[0,1].bar(dictlist[1].keys(), dictlist[1].values())
axes[0,1].set_xlabel(quarters[1])
for p in axes[0,1].patches:
    axes[0,1].annotate(str(p.get_height()), xy=(p.get_x(), p.get_height()))

axes[1,0].bar(dictlist[2].keys(), dictlist[2].values())
axes[1,0].set_xlabel(quarters[2])
for p in axes[1,0].patches:
    axes[1,0].annotate(str(p.get_height()), xy=(p.get_x(), p.get_height()))

axes[1,1].bar(dictlist[3].keys(), dictlist[3].values())
axes[1,1].set_xlabel(quarters[3])
for p in axes[1,1].patches:
    axes[1,1].annotate(str(p.get_height()), xy=(p.get_x(), p.get_height()))

fig = plt.gcf()
fig.set_size_inches( 16, 16)
fig.savefig('output5.png')

enter image description here

我不确定到底是什么导致底部的混乱文本,我想以某种方式创建主图例。任何帮助,将不胜感激。这是python 3.6

1 个答案:

答案 0 :(得分:1)

好的,我这么想了。这是我最终为代码和图形编写的代码。我必须遍历每个刻度,这是使我烦恼的部分。

urlpatterns = [
    path('admin/', admin.site.urls),
    path('', include('blog.urls')),
]

enter image description here