繁体   English   中英

使用 matplotlib 将文本添加为​​ asterix

[英]Adding text as asterix with matplotlib

下面你可以在 matplotlib 中看到我的数据和构面图。

import pandas as pd
import numpy as np
pd.set_option('max_columns', None)
import matplotlib.pyplot as plt

data = {
         'type_sale': ['g_1','g_2','g_3','g_4','g_5','g_6','g_7','g_8','g_9','g_10'],
         'open':[70,20,24,80,20,20,60,20,20,20],
         'closed':[30,14,20,10,10,40,10,10,10,10],
        }

df = pd.DataFrame(data, columns = ['type_sale',
                                   'open',
                                   'closed',
                                   ])

fig, axs = plt.subplots(2,2, figsize=(8,6))
plt.subplots_adjust(wspace=0.2, hspace=0.6)
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe',ax=axs[0,0])
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe', ax=axs[0,1])
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe',ax=axs[1,0])
df.plot(x='type_sale', kind='bar', stacked=True,title='Stacked Bar Graph by dataframe', ax=axs[1,1])

plt.suptitle(t='Stacked Bar Graph by dataframe', fontsize=16)
plt.show()

现在我想用一条黑线将它括起来,这个刻面,并添加带有星号的文本,如下图所示

在此处输入图像描述

那么有人可以帮我解决这个问题吗?

根据这个答案,这是我实现它的方式。

import pandas as pd
import numpy as np
pd.set_option('max_columns', None)
import matplotlib.pyplot as plt
import matplotlib as mpl

data = {
         'type_sale': ['g_1','g_2','g_3','g_4','g_5','g_6','g_7','g_8','g_9','g_10'],
         'open':[70,20,24,80,20,20,60,20,20,20],
         'closed':[30,14,20,10,10,40,10,10,10,10],
        }

df = pd.DataFrame(data, columns = ['type_sale',
                                   'open',
                                   'closed',
                                   ])

fig, axs = plt.subplots(2,2, figsize=(8,6))
plt.subplots_adjust(wspace=0.2, hspace=0.6)
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe',ax=axs[0,0])
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe', ax=axs[0,1])
df.plot(x='type_sale', kind='bar', stacked=True, title='Stacked Bar Graph by dataframe',ax=axs[1,0])
df.plot(x='type_sale', kind='bar', stacked=True,title='Stacked Bar Graph by dataframe', ax=axs[1,1])

plt.suptitle(t='Stacked Bar Graph by dataframe', fontsize=16)

### Changes
rect = mpl.patches.Rectangle((0.05,0.01), 0.9, 1, fill=False, color="k", lw=2, 
    zorder=1000, transform=fig.transFigure, figure=fig)
fig.patches.extend([rect])
fig.text(0.05, -0.02, '*) Source: Some institution')
fig.savefig('test.png', dpi=300, bbox_inches='tight')
####

plt.show()

输出: 在此处输入图像描述

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM