一:常见图形的分类:
二:Matplotlib的绘图函数具有以下特点:
- 灵活性:Matplotlib提供了丰富的选项和参数,可以对图形的各个方面进行精细调整。例如,可以设置图形的样式、颜色、线型、标签、标题等,以满足特定的需求。
- 多种图形类型:Matplotlib支持多种常见的图形类型,包括线条图、散点图、柱状图、饼图、箱线图、等高线图、3D图形等。
- 面向对象和函数式绘图方案:通常使用Matplotlib绘图有两种不同的方式:面向对象绘图和函数式绘图。面向对象绘图方案(ax.plot)结构清晰,功能齐全,容易理解。函数式绘图方案 (plt.plot)代码较简短,但容易迷失操作对象,造成混乱。
- 交互式图形:Matplotlib支持交互式图形,可以使用鼠标放大、缩小、移动图像,或添加注释等。
- 跨平台支持:Matplotlib可以在各种平台上使用,包括Windows、Mac、Linux等。
- 易于扩展:Matplotlib具有易于扩展的特点,可以使用Python中的各种数据结构(如列表、元组、字典等)来构建图形。此外,Matplotlib还支持自定义图形和插件,可以轻松扩展其功能。
- 自动缩放:Matplotlib会自动缩放图形,以适应不同的显示尺寸和分辨率。
- 丰富的文档和社区支持:Matplotlib拥有丰富的文档和活跃的社区支持,用户可以轻松找到所需的帮助和资源。
三:Matplotlib各图形的绘制函数:
1.柱形图:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#查看数据
df=pd.read_excel('...航空公司数据.xlsx',encoding='gbk')
df
#查看工作地所在省份
df1=df.groupby('工作地所在省份').size().sort_values(ascending=False)
df1
#绘制柱形图
plt.rcParams['font.family']='SimHei'
plt.figure(figsize=(12,6))
plt.xticks(rotation=45)
plt.bar(df1.index,df1.values)
plt.xlabel("省份")
plt.ylabel("人数")
plt.title("用户所在省份分布图(前30名)")
plt.show()
运行结果如图所示:
2.折线图:
import pandas as pd
import matplotlib.pyplot as plt
import numpy as np
#查看数据
df=pd.read_excel('...航空公司数据.xlsx',encoding='gbk')
df
#查看入会时间
df['入会年份']=df['入会时间'].dt.year
df
#查看入会年份
df2=df.groupby('入会年份').size()
df2
#定义x,y
x=df2.index
y=df2.values
#绘制折线图
plt.rcParams['font.family']='SimHei'
plt.plot(
x,
y,'--'
)
plt.title("每年的入会人数折线图")
for a,b in zip(x,y):
plt.text(a,b+20,f'{b}',ha='center')
plt.show()
运行结果如图所示:
3.散点图:
import pandas as pd
import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
#查看数据
df=pd.read_excel('...航空公司数据.xlsx')
df
#绘制散点图
plt.scatter(
df['平均折扣系数'],
df['飞行里程数'],
)
plt.show()
运行结果如图所示:
4.饼图:
import pandas as pd
import numpy as np
from sklearn import datasets
import matplotlib.pyplot as plt
#查看数据
df=pd.read_excel('...航空公司数据.xlsx')
df
#创建当前时间对象
import datetime
now=datetime.datetime.now()
#查看飞龄
df['飞龄']=(now-df['入会时间']).dt.days//365
df
#数据分箱
df['飞龄区间']=pd.cut(
df['飞龄'],
bins=list(range(9,24,3))
)
df
#分组统计各个区间的频数
result=df.groupby('飞龄区间').size()
result
#绘制饼图
plt.pie(
x=result.values,
labels=result.index,
autopct='%1.1f%%',
explode=[0,0,0,0.5]
)
plt.show()
运行结果如图所示:
5.直方图和箱线图:
import pandas as pd
import matplotlib.pyplot as plt
#查看数据
df=pd.read_excel('...航空公司数据.xlsx')
df
#绘制图形
plt.rcParams['font.family']='SimHei'
plt.figure(figsize=(12,6))
plt.subplot(2,1,1)
min=int(df['飞行次数'].min())
max=int(df['飞行次数'].max())
plt.hist(
df['飞行次数'],
bins=[i for i in range(min,max,5)]
)
plt.title('用户飞行次数直方图')
plt.xlabel('飞行次数')
plt.ylabel('人数')
plt.subplot(2,1,2)
plt.boxplot(
df['飞行次数'].dropna(),
vert=False,
labels=['飞行次数'],
whis=3
)
plt.show()
运行结果如图所示:
四:小结:
Matplotlib是一个广泛使用的Python绘图库,它提供了各种函数和工具来创建各种类型的图形。
- plot:用于绘制二维图形的常用函数,可以绘制折线图、散点图、曲线图等各种类型的图形。
- bar:用于绘制条形图,包括水平条形图和垂直条形图,可以自定义条形的颜色、边缘线和填充色等。
- boxplot:用于绘制箱线图,可以显示数据的五数概括(最小值、下四分位数、中位数、上四分位数和最大值),并支持自定义箱线图的样式和颜色等。
- scatter:用于绘制散点图,可以显示多个数据点的分布情况,支持自定义点的颜色、大小和形状等。
- pie:用于绘制饼图,可以显示各个部分在整体中所占的比例,支持自定义饼图的颜色、标签和起始角度等。
这些函数只是Matplotlib中可用的绘图函数的一部分,但它们应该能够满足大多数常见的绘图需求。每个函数都有许多可定制的选项,因此可以方便大家根据自己的需求来调整图形的外观和样式。