一.认识:
Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包。
使用导入的模块:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
二.导入excel:
sale = pd.read_excel('./路径名/表名.xlsx')
sale.head()
通过上面,导入excel里面的数据
查看数据的详细信息:
sale.info()
这样我们的准备工作完成了,下面开始使用Matplotlib显示图像
三.显示图像:
我先导入我自己的excel,你们可以导入你们有的excel或者去网上找点excel:
#用来正常显示中文的标签,SimHei是黑体的英文名称
plt.rcParams['font.sans-serif']=['SimHei']
#解决符号显示为方块的问题
plt.rcParams['axes.unicode_minus']=False
sale=pd.read_excel('商品订单表.xlsx')
print(sale.head())
costomer=pd.read_excel('客户信息表.xlsx')
print(costomer.head())
# costomer.info()
sale01=sale[sale['是否退回']==0].groupby(by='年份').agg({'客户编号':np.unique})['客户编号'].apply(len)
print(sale01.index)
x = ['2014年', '2015年', '2016年', '2017年', '2018年', '2019年', '2020年']
y=sale01.values
下面开始写简单二维图像:
plt.figure(facecolor='white',figsize=(8,5),dpi=120)
plt.title('2014至2020年上半年有效订单的客户数',fontsize=14)#表的标题
plt.xlabel('订单日期年',fontsize=12)#x的标题名
plt.ylabel('客户编号不同计数',fontsize=12)#y的标题名
plt.plot(x,y,color="skyblue",alpha=0.4)
plt.fill_between(x,y,color="skyblue",alpha=0.4)#填充颜色
for a,b in enumerate(y):
plt.text(a,b,'%d'%b,va='bottom',ha='center')
plt.show()#展示图像
运行如下:
图像2:
#分析2020上半年有效客户订单客户:使用汽泡图
sale['记录数']=pd.Series(np.ones(shape=(sale.shape[0])),dtype=np.int8)
sale_2020 = sale.loc[(sale['年份'] == 2020) & (sale['是否退回'] == 0)]
df2=sale_2020.groupby('客户类型').nunique()['客户编号']
df2
plt.figure(figsize=(8,3),facecolor='white')
plt.title('2020年上半年有效订单客户的分布',fontsize='13')
plt.ylim(0,300)
plt.scatter(df2.index,df2.values,s=df2.values*100,c=['green','blue','yellow'])
for x,y in enumerate(df2.values):
plt.text(x,y,str(y),horizontalalignment='center')
plt.show()
四.总结:
对上面的图像处理来看,只要导入了数据excel,我们就可以通过Matplotlib的简单函数,来显示图像,我们虽然只展示了2个,但是读者你们可自己使用它的直方图、饼状图、柱形图.......
如果忘记怎样使用的,可以看我的基础篇章:
Matplotlib基础https://mp.csdn.net/mp_blog/creation/editor/139102389