学习笔记(47):零基础搞定Python数据分析与挖掘-多个图形的组合

立即学习:https://edu.csdn.net/course/play/6861/326792?utm_source=blogtoedu

组合图的绘制

工作中往往会根据业务的需要,将绘制的多个图形组合到一个大图框呢,形成类似仪表板的效果

 

plt.subplot2grid(shape,loc,rowspan,colspan=1,**kwagrs)

shape:指定组合图的框架形状,以元组形式传递,如2x3的矩阵可以表示成(2,3)

loc:指定子图所在的位置,如shape中第一行第一列可以表示为(0,0)

学习笔记(47):零基础搞定Python数据分析与挖掘-多个图形的组合_第1张图片

rowspan:指定某个子图需要跨几行

colspan:指定某个子图需要跨几列

 

 

学习笔记(47):零基础搞定Python数据分析与挖掘-多个图形的组合_第2张图片

可视化常用的包

matplotlib

seaborn

pyecharts

# 读取数据
Prod_Trade = pd.read_excel(r'E:\pylean\database\第8章 数据可视化\Prod_Trade.xlsx')
# 衍生出交易年份和月份字段
Prod_Trade['year'] = Prod_Trade.Date.dt.year
Prod_Trade['month'] = Prod_Trade.Date.dt.month

# 设置大图框的长和高
plt.figure(figsize = (12,6))
# 设置第一个子图的布局
ax1 = plt.subplot2grid(shape = (2,3), loc = (0,0))
# 统计2012年各订单等级的数量
Class_Counts = Prod_Trade.Order_Class[Prod_Trade.year == 2012].value_counts()
Class_Percent = Class_Counts/Class_Counts.sum()
# 将饼图设置为圆形(否则有点像椭圆)
ax1.set_aspect(aspect = 'equal')
# 绘制订单等级饼图
ax1.pie(x = Class_Percent.values, labels = Class_Percent.index, autopct = '%.1f%%')
# 添加标题
ax1.set_title('各等级订单比例')

# 设置第二个子图的布局
ax2 = plt.subplot2grid(shape = (2,3), loc = (0,1))
# 统计2012年每月销售额
Month_Sales = Prod_Trade[Prod_Trade.year == 2012].groupby(by = 'month').aggregate({'Sales':np.sum})
# 绘制销售额趋势图
Month_Sales.plot(title = '2012年各月销售趋势', ax = ax2, legend = False)
# 删除x轴标签
ax2.set_xlabel('')

# 设置第三个子图的布局
ax3 = plt.subplot2grid(shape = (2,3), loc = (0,2), rowspan = 2)
# 绘制各运输方式的成本箱线图
sns.boxplot(x = 'Transport', y = 'Trans_Cost', data = Prod_Trade, ax = ax3)
# 添加标题
ax3.set_title('各运输方式成本分布')
# 删除x轴标签
ax3.set_xlabel('')
# 修改y轴标签
ax3.set_ylabel('运输成本')

# 设置第四个子图的布局
ax4 = plt.subplot2grid(shape = (2,3), loc = (1,0), colspan = 2)
# 2012年客单价分布直方图
sns.distplot(Prod_Trade.Sales[Prod_Trade.year == 2012], bins = 40, norm_hist = True, ax = ax4, hist_kws = {'color':'steelblue'}, kde_kws=({'linestyle':'--', 'color':'red'}))
# 添加标题
ax4.set_title('2012年客单价分布图')
# 修改x轴标签
ax4.set_xlabel('销售额')

# 调整子图之间的水平间距和高度间距
plt.subplots_adjust(hspace=0.6, wspace=0.3)
# 图形显示
plt.show()

 

学习笔记(47):零基础搞定Python数据分析与挖掘-多个图形的组合_第3张图片

 

你可能感兴趣的:(研发管理)