deftitle_table(ax):
ax.set_title(label=f'No.{i+1}',
loc='center',
pad=None,
fontdict={'color': 'b'}
)
ax.table(loc='upper right', #表格在图表区的位置
colLabels=[f'{i+2} args'], #表格每列的列名称
colColours=['g'], #表格每列列名称所在单元格的填充颜色
colLoc='left', #表格中每列列名称的对齐位置
colWidths=[0.15], #表格每列的宽度
cellText=args, #表格中的数值, 每行数据的列表的列表
cellColours=[['cornsilk']]*len(args), #表格中数据所在单元格的填充颜色
cellLoc='left', #表格中数据的对齐位置
fontsize=8)#定义数据
x = [1, 2, 3, 4, 5]
y= [6, 10, 4, 5, 1]
labels= list('abcde'.upper())#配置字体,显示中文
mpl.rcParams['font.sans-serif'] = ['SimHei']#配置坐标轴刻度值模式,显示负号
mpl.rcParams['axes.unicode_minus'] =True#设置子区布局和图表区属性
fig, axes = plt.subplots(nrows=3, #子区行数
ncols=3, #子区列数
figsize=(18, 14), #图表区的大小
facecolor='cornsilk', #图表区的背景色
)#将二维子区数组扁平化
axes = axes.ravel() #返回子区坐标系的一维视图
#选择子区 1
i =0
ax=axes[i]## 设置子区背景色
ax.set_facecolor('oldlace') #浅米色,老白色
## 在第 1 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
)
args= [[e] for e in ['y', 'width']]## 向图表子区添加标题和数据表
title_table(ax)#选择子区 2
i = 1ax=axes[i]## 设置子区背景色
ax.set_facecolor('lemonchiffon') #柠檬绸色
## 在第 2 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.4, #条形的宽度
)
args= [[e] for e in ['y', 'width', 'height']]## 向图表子区添加标题和数据表
title_table(ax)#选择子区 3
i = 2ax=axes[i]## 设置子区背景色
ax.set_facecolor('moccasin') #鹿皮色
## 在第 3 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
)
args= [[e] for e in ['y', 'width', 'heigth', 'align']]## 向图表子区添加标题和数据表
title_table(ax)#选择子区 4
i = 3ax=axes[i]## 设置子区背景色
ax.set_facecolor('palegoldenrod') #淡菊黄色
## 在第 4 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='darkgrey' #条形的填充颜色
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color']]## 向图表子区添加标题和数据表
title_table(ax)#选择子区 5
i = 4ax=axes[i]## 设置子区背景色
ax.set_facecolor('orange') #橘黄色
## 设置子区背景色
ax.set_facecolor('palegoldenrod') #淡菊黄色
## 在第 5 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='darkgrey', #条形的填充颜色
alpha=0.4, #条形填充颜色的透明度
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha']]## 向图表子区添加标题和数据表
title_table(ax)#选择子区 6
i = 5ax=axes[i]## 设置子区背景色
ax.set_facecolor('gold') #金黄色
## 在第 6 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='khaki', #条形的填充颜色
alpha=1, #条形填充颜色的透明度
left=0.7, #条形左侧边线对应的 x 轴坐标
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left']]## 向图表子区添加标题和数据表
title_table(ax)## 设置刻度范围
ax.set_xlim(0, 11)#选择子区 7
i = 6ax=axes[i]## 设置子区背景色
ax.set_facecolor('darkgoldenrod') #暗金黄色,深菊黄
## 在第 7 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='khaki', #条形的填充颜色
alpha=1, #条形填充颜色的透明度
left=0.2, #条形左侧边线对应的 x 轴坐标
edgecolor='g' #条形的边框颜色
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor']]## 向图表子区添加标题和数据表
title_table(ax)## 设置刻度范围
ax.set_xlim(0, 11)#选择子区 8
i = 7ax=axes[i]## 设置子区背景色
ax.set_facecolor('goldenrod') #菊花黄,金麒麟色
## 在第 8 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='khaki', #条形的填充颜色
alpha=1, #条形填充颜色的透明度
left=0.2, #条形左侧边线对应的 x 轴坐标
edgecolor='g', #条形的边框颜色
linewidth=2, #条形边框线的宽度
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor','linewidht']]## 向图表子区添加标题和数据表
title_table(ax)## 设置刻度范围
ax.set_xlim(0, 11)#选择子区 9
i = 8ax=axes[i]## 设置子区背景色
ax.set_facecolor('lightgoldenrodyellow') #浅金黄色
## 在第 9 子区中绘制条形图
ax.barh(y=x, #条形对应的 y 轴坐标
width=y, #条形的长度
height=0.7, #条形的宽度
align='edge', #条形与 y 轴刻度线对齐的位置
color='khaki', #条形的填充颜色
alpha=1, #条形填充颜色的透明度
left=0.2, #条形左侧边线对应的 x 轴坐标
edgecolor='g', #条形的边框颜色
linewidth=2, #条形边框线的宽度
tick_label=labels #条形的标签名称
)
args= [[e] for e in ['y', 'width', 'heigth', 'align', 'color', 'alpha', 'left', 'edgecolor','linewidht', 'tick_label']]## 向图表子区添加标题和数据表
title_table(ax)## 设置刻度范围
ax.set_xlim(0, 11);