python3 的 matplotlib绘图库的使用

1.绘制第一幅图表

(1)figure函数,创建图表

(2)subplot函数,创建子图

(3)在多个图表中创建子图

(4)plot()函数,画函数图像

(5)sca()函数,选择子图

(6)在 一张表中画多个曲线

2.直方图

3.散点图

4.饼图

5.图表的注释与标识

6.加载txt文件并绘图


1.绘制第一幅图表

(1)figure()函数,创建图表

import matplotlib.pyplot as plt
plt.figure(1)   #创建图表1
plt.figure(2)      #创建图表2
plt.show()          #显示所有图表
执行效果:


(2)subplot() 创建子图

import matplotlib.pyplot as plt
plt.figure(1)   #创建图表1
plt.subplot(223)        #创建2*2的图表矩阵,绘制的子图为矩阵中的3序号
plt.show()          #显示所有图表
执行结果:

子图的序号排序顺序是:从左到右,然后从上到下,逐次增加1
例如:subplot(2,2,1) 就是子图在上图的序号1的位置。

有如:显示四个子图

import matplotlib.pyplot as plt
plt.figure(1,dpi=50)   #创建图表1,dpi为设置图表的大小,默认dpi=80
plt.subplot(221)        
plt.subplot(222)
plt.subplot(223)
plt.subplot(224)
plt.show()          #显示所有图表
执行结果:


(3)在多个表中创建子图

import matplotlib.pyplot as plt
plt.figure(1,dpi=50)   #创建图表1
plt.subplot(111)        #在图表1中创建子图
plt.figure(2,dpi=50)    #创建图表2
plt.subplot(221)        #在图表2中创建子图
plt.show()          #显示所有图表
执行结果:




(4)plot()函数,画函数图像

plot(xy)  的 x 参数表示x值,y参数表示y值

import numpy as np
import matplotlib.pyplot as plt

plt.figure(1,dpi=50)
x= np.linspace(-np.pi,np.pi,100) # x轴的定义域为 -3.14~3.14,中间间隔100个元素
plt.plot(x,np.sin(x))
plt.show()
执行效果:


(5)sca()函数,选择子图

import numpy as np
import matplotlib.pyplot as plt

plt.figure(1,dpi=50)
ax1 = plt.subplot(211)      #创建子图 ax1
ax2 = plt.subplot(212)      #创建子图 ax2

x = np.linspace(0,10,100)   # x轴定义域

plt.sca(ax1)                #选择子图ax1
plt.plot(x,np.exp(x))       #在子图ax1 中绘制函数 exp(x)

plt.sca(ax2)                #选择子图ax2
plt.plot(x,np.sin(x))       #在子图ax2 中绘制函数 sin(x)

plt.show()                  #展示所有图表
执行效果:




(6)在一张表中画多个曲线

import numpy as np
import matplotlib.pylab as plt

x = np.linspace(-np.pi*2,np.pi*2,100)   #定义域为: -2pi 到 2pi
plt.figure(1,dpi=50)                    #创建图表1

for i in range(1,5):                   #画四条线
    plt.plot(x,np.sin(x/i))             

plt.show()
执行效果:




2.直方图

使用 hist()函数:

import numpy as np
import matplotlib.pyplot as plt
 
plt.figure(1,dpi=50) # 创建图表1
data = [1,1,1,2,2,2,3,3,4,5,5,6,4]
plt.hist(data)      #只要传入数据,直方图就会统计数据出现的次数
 
plt.show()
执行效果:




3.散点图

散点图用 scatter(x,y) 绘制,x参数传入x轴的坐标,y参数传入  y 轴坐标

import numpy as np  
import matplotlib.pyplot as plt  
#产生测试数据  
x = np.arange(1,10)  
y = x  
fig = plt.figure()
plt.scatter(x,y,c = 'r',marker = 'o')  #c = 'r'表示散点的颜色为红色,marker 表示指定三点多形状为圆形
#显示所画的图  
plt.show()  
执行效果:




4.饼图

通过 pie()函数

import numpy as np  
import matplotlib.pyplot as plt
data = [100,500,300]                    #饼图中的数据
fig = plt.figure(dpi=80)
plt.pie(data,                          # 每个饼块的实际数据,如果大于1,会进行归一化,计算percentage
        explode=[0.0,0.0,0.1],               # 每个饼块离中心的距离
        colors=['y','r','g'],               # 每个饼块的颜色,黄红绿
        labels=['A part','B part','C part'], # 每个饼块的标签
        labeldistance=1.2,                   # 每个饼块标签到中心的距离
        autopct='%1.1f%%',                  # 百分比的显示格式
        pctdistance=0.4,                     # 百分比到中心的距离
        shadow=True,                         # 每个饼块是否显示阴影
        startangle=0,                        # 默认从x轴正半轴逆时针起
        radius=1                           # 饼块的半径
        )
plt.show()
执行效果:




5.图表的注释与标识

import numpy as np  
import matplotlib.pyplot as plt
fig = plt.figure(dpi=80)
x = np.linspace(0,10,100)
plt.plot(x,np.sin(x),label="sin(x)")    #先设置一个label用于显示图例
plt.xlabel("X axe")     #设置X轴的文字
plt.ylabel("Y axe")     #设置Y轴的文字
plt.title("sin(x) function")    #设置图的标题
plt.legend()                        #显示图例。
plt.show()
执行效果:




6.加载txt文件并绘图

使用: numpy的 loadtxt()函数

import numpy as np  
import matplotlib.pyplot as plt
data = np.loadtxt('1.txt',delimiter=',')    #加载数据文件1.txt,数据间的分隔符为逗号','
plt.plot(data[:,0],data[:,1],'ro')          #ro表示每个数据在图表上打印的是红色的圆点
plt.show()
执行效果:


附上1.txt文件:

0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0
1,1
2,4
3,9
4,16
5,25
6,36
7,49
8,64
9,81
0,0



发布了264 篇原创文章 · 获赞 386 · 访问量 73万+
展开阅读全文

没有更多推荐了,返回首页

©️2019 CSDN 皮肤主题: 技术黑板 设计师: CSDN官方博客

分享到微信朋友圈

×

扫一扫,手机浏览