Matplotlib-绘图入门


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()

这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_27171347/article/details/81292155