#使图表正常显示中文
mpl.rcParams['font.sans-serif'] = 'SimHei'
#使坐标轴刻度标签正常显示负号
mpl.rcParams['axes.unicode_minus'] =False
fig= plt.figure(figsize=(18, 88),
facecolor='cornsilk')
cm_names= ['BuPu', 'cool', 'hot', 'jet', 'PiYG','plasma', 'PuRd', 'rainbow', 'RdYlGn_r', 'spring']
axes= fig.subplots(nrows=(len(cm_names)+1)//2,
ncols=2,
sharey=True
)for ax, cm_name inzip(axes.ravel(), cm_names):
cm=mpl.cm.get_cmap(cm_name)
colors= cm(np.linspace(0, 1, 30))
ax.barh(y=districts,
width=gdp_2019,
height=0.8,
color=colors,
edgecolor='green')#添加无指向型的注释文本
for i, (district, gdp) inenumerate(zip(districts, gdp_2019)):
x= gdp-8000 if gdp > 100000 else gdp - 100 # 三元表达式d= district[:3] if set(district).intersection('龙内') else district[:2] # 三元表达式
nums=str(int(gdp_2019[i]))
text= ''.join([d, ' ', nums[:-3], ',', nums[-3:]])
ax.text(x,#注释内容所在的横轴坐标
y=i, #注释内容所在的纵轴坐标
s=text, #注释的文本内容
size=15, #字体大小
weight='bold', #注释文本内容的字体粗细风格
color='navy' # 文本颜色)
ax.set_ylim(-0.7, 30),
ax.set_title(label=cm_name,
fontdict={'fontsize': 15,}
)
ax.xaxis.grid(color='grey',
ls=':')
# 隐藏上边和右边的轴脊
ax.spines['top'].set_visible(False)
ax.spines['right'].set_color('None')
# 显示图形
plt.show();