1 创建一个简单的绘图
1.1 导入matplotlib
import matplotlib.pyplot as plt
1.2 创建画板
plt.figure(figsize=(8,4))
1.3 进行绘图
plt.rcParams['font.sans-serif']=['SimHei']
plt.rcParams['axes.unicode_minus']=False
x = [1,2,3]
y = [5,7,4]
x2 = [1,2,3]
y2 = [10,14,12]
plt.plot(x, y, label='第一条线')
plt.plot(x2, y2, label='第二条线')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.title('为图表加入\n图例、标题与标签')
plt.legend(loc = 'upper right')
plt.show()
2 绘制折线图
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
plt.plot(x,y,label="折线图")
plt.xlabel("X")
plt.ylabel("Y")
plt.title("绘制折线图")
plt.legend()
plt.show()
3 绘制柱状图/条形图
x1 = [1,3,5,7,9]
y1 = [5,2,7,8,2]
plt.bar(x1,y1,label='柱状图-01',color='r')
x2 = [2,4,6,8,10]
y2 = [5,6,2,5,6]
plt.bar(x2,y2,label='柱状图-02',width=0.8,color='b')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.legend()
plt.title('绘制柱状图')
plt.show()
x1 = [1,3,5,7,9]
y1 = [5,2,7,8,2]
plt.barh(x1,y1,label='柱状图-01',color='r')
x2 = [2,4,6,8,10]
y2 = [5,6,2,5,6]
plt.barh(x2,y2,label='柱状图-02',color='b')
plt.xlabel('x轴')
plt.ylabel('y轴')
plt.legend()
plt.title('绘制条形图')
plt.show()
4 绘制直方图
population_ages = [22,55,62,45,21,22,34,42,42,4,99,102,110,120,121,122,130,111,115,112,80,75,65,54,44,43,42,48]
bins = [0,10,20,30,40,50,60,70,80,90,100,110,120,130]
plt.hist(population_ages, bins, histtype='bar')
plt.xlabel('年龄范围')
plt.ylabel('人数')
plt.title('频率分布直方图')
plt.show()
5 绘制饼图
```python
players = [20,12,7,2]
types = ["少年","青年","中年","老年"]
plt.pie(players,
labels=types,
autopct='%1.1f%%',
startangle=90,
explode=[0.1,0,0,0],
shadow=True
)
plt.title('饼图')
plt.show()
6 绘制散点图
x = [1,2,3,4,5,6,7,8]
y = [5,2,4,2,1,4,5,2]
'''
绘制散点图
x ,y分别是x轴和y轴数据
label 图列
color 数据点的颜色
s 数据点的大小
marker 数据点的样式
'''
plt.scatter(x,y, label='散点图' , color='k' , s=25, marker="x")
plt.xlabel('x')
plt.ylabel('y')
plt.title('散点图')
plt.legend()
plt.show()
7 绘制堆叠图
days = [1,2,3,4,5]
sleeping = [7,8,6,11,7]
eating = [2,3,4,3,2]
working = [7,8,7,2,2]
playing = [8,5,7,8,13]
plt.stackplot(days,
sleeping,eating,working,playing,
colors=['m','c','r','k'],
labels=['sleeping','eating','working','playing']
)
plt.xlabel('日期')
plt.ylabel('活动')
plt.title('堆叠图')
plt.legend()
plt.show()