python3 的 matplotlib绘图库的使用

1.绘制第一幅图表

(1)figure函数,创建图表

(2)subplot函数,创建子图

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

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

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

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

2.直方图

3.散点图

4.饼图

5.图表的注释与标识

6.加载txt文件并绘图


1.绘制第一幅图表

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

[python]  view plain  copy
  1. import matplotlib.pyplot as plt  
  2. plt.figure(1)   #创建图表1  
  3. plt.figure(2)      #创建图表2  
  4. plt.show()          #显示所有图表  
执行效果:


(2)subplot() 创建子图

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

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

有如:显示四个子图

[python]  view plain  copy
  1. import matplotlib.pyplot as plt  
  2. plt.figure(1,dpi=50)   #创建图表1,dpi为设置图表的大小,默认dpi=80  
  3. plt.subplot(221)          
  4. plt.subplot(222)  
  5. plt.subplot(223)  
  6. plt.subplot(224)  
  7. plt.show()          #显示所有图表  
执行结果:


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

[python]  view plain  copy
  1. import matplotlib.pyplot as plt  
  2. plt.figure(1,dpi=50)   #创建图表1  
  3. plt.subplot(111)        #在图表1中创建子图  
  4. plt.figure(2,dpi=50)    #创建图表2  
  5. plt.subplot(221)        #在图表2中创建子图  
  6. plt.show()          #显示所有图表  
执行结果:




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

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

[python]  view plain  copy
  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3.   
  4. plt.figure(1,dpi=50)  
  5. x= np.linspace(-np.pi,np.pi,100# x轴的定义域为 -3.14~3.14,中间间隔100个元素  
  6. plt.plot(x,np.sin(x))  
  7. plt.show()  
执行效果:


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

[python]  view plain  copy
  1. import numpy as np  
  2. import matplotlib.pyplot as plt  
  3.   
  4. plt.figure(1,dpi=50)  
  5. ax1 = plt.subplot(211)      #创建子图 ax1  
  6. ax2 = plt.subplot(212)      #创建子图 ax2  
  7.   
  8. x = np.linspace(0,10,100)   # x轴定义域  
  9.   
  10. plt.sca(ax1)                #选择子图ax1  
  11. plt.plot(x,np.exp(x))       #在子图ax1 中绘制函数 exp(x)  
  12.   
  13. plt.sca(ax2)                #选择子图ax2  
  14. plt.plot(x,np.sin(x))       #在子图ax2 中绘制函数 sin(x)  
  15.   
  16. plt.show()                  #展示所有图表  
执行效果:




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

[python]  view plain  copy
  1. import numpy as np  
  2. import matplotlib.pylab as plt  
  3.   
  4. x = np.linspace(-np.pi*2,np.pi*2,100)   #定义域为: -2pi 到 2pi  
  5. plt.figure(1,dpi=50)                    #创建图表1  
  6.   
  7. for i in range(1,5):                   #画四条线  
  8.     plt.plot(x,np.sin(x/i))               
  9.   
  10. plt.show()  
执行效果:




2.直方图

使用 hist()函数:

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




3.散点图

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

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




4.饼图

通过 pie()函数

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




5.图表的注释与标识

[python]  view plain  copy
  1. import numpy as np    
  2. import matplotlib.pyplot as plt  
  3. fig = plt.figure(dpi=80)  
  4. x = np.linspace(0,10,100)  
  5. plt.plot(x,np.sin(x),label="sin(x)")    #先设置一个label用于显示图例  
  6. plt.xlabel("X axe")     #设置X轴的文字  
  7. plt.ylabel("Y axe")     #设置Y轴的文字  
  8. plt.title("sin(x) function")    #设置图的标题  
  9. plt.legend()                        #显示图例。  
  10. plt.show()  
执行效果:




6.加载txt文件并绘图

使用: numpy的 loadtxt()函数

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


附上1.txt文件:

[plain]  view plain  copy
  1. 0,0  
  2. 1,1  
  3. 2,4  
  4. 3,9  
  5. 4,16  
  6. 5,25  
  7. 6,36  
  8. 7,49  
  9. 8,64  
  10. 9,81  
  11. 0,0  
  12. 1,1  
  13. 2,4  
  14. 3,9  
  15. 4,16  
  16. 5,25  
  17. 6,36  
  18. 7,49  
  19. 8,64  
  20. 9,81  
  21. 0,0  

参考资料:http://blog.csdn.net/u014453898/article/details/73395522

  • 5
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值