Python--subplot 子图绘制

import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import matplotlib as mpl # 准备数据 name_new_list = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] num_sale_list = [369,324,400,388,260,81,27,22,0,0,0,113] x = [c + 0.5 for c in range(len(name_new_list))] sum_ = sum(num_sale_list) num_list_new = [x/sum_*100 for x in num_sale_list] # 调整图片大小 plt.rcParams['figure.figsize'] = (12.0, 12.0) # 第一张图(subplot(m,n,p) m 代表行,n 代表列,p 代表的这个图形画在第几行、第几列) plt.subplot(211) # 画直方图 sns.barplot(x=name_new_list, y=num_sale_list,color='lightskyblue',label=u'销量') # 图例 plt.legend(loc=2) # 标题 plt.title ('月销量分布情况') # 调整坐标轴范围 plt.ylim(0,max(num_sale_list)*1.2) plt.ylabel(u'销量') # 第二张图 plt.subplot(212) # 画折线图 plt.plot(x, num_list_new, marker='o', mec='r', mfc='w',color='r',label=u'销量占比') # 添加数据标签 for xy in zip(x,num_list_new): plt.annotate(str('%.0f'%xy[1])+'%', xy=xy, xytext=(0,0), textcoords = 'offset points',color='r') # 修改x轴标签 plt.xticks(x,name_new_list) # 图例 plt.legend(loc=1) plt.ylabel(u'销量占比') plt.ylim(0, max(num_list_new)*1.2) # 标题 plt.title ( '月销量占比分布情况') import pandas as pd import numpy as np import matplotlib.pyplot as plt import seaborn as sns import matplotlib as mpl # 准备数据 name_new_list = ['1月', '2月', '3月', '4月', '5月', '6月', '7月', '8月', '9月', '10月', '11月', '12月'] num_sale_list = [369,324,400,388,260,81,27,22,0,0,0,113] x = [c + 0.5 for c in range(len(name_new_list))] sum_ = sum(num_sale_list) num_list_new = [x/sum_*100 for x in num_sale_list] # 调整图片大小 plt.rcParams['figure.figsize'] = (12.0, 12.0) # 第一张图(subplot(m,n,p) m 代表行,n 代表列,p 代表的这个图形画在第几行、第几列) plt.subplot(211) # 画直方图 sns.barplot(x=name_new_list, y=num_sale_list,color='lightskyblue',label=u'销量') # 图例 plt.legend(loc=2) # 标题 plt.title ('月销量分布情况') # 调整坐标轴范围 plt.ylim(0,max(num_sale_list)*1.2) plt.ylabel(u'销量') # 第二张图 plt.subplot(212) # 画折线图 plt.plot(x, num_list_new, marker='o', mec='r', mfc='w',color='r',label=u'销量占比') # 添加数据标签 for xy in zip(x,num_list_new): plt.annotate(str('%.0f'%xy[1])+'%', xy=xy, xytext=(0,0), textcoords = 'offset points',color='r') # 修改x轴标签 plt.xticks(x,name_new_list) # 图例 plt.legend(loc=1) plt.ylabel(u'销量占比') plt.ylim(0, max(num_list_new)*1.2) # 标题 plt.title ( '月销量占比分布情况')

在这里插入图片描述