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()          #显示所有图表  
执行效果:

python3 的 matplotlib绘图库的使用_第1张图片


(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()          #显示所有图表  
执行结果:

python3 的 matplotlib绘图库的使用_第2张图片

子图的序号排序顺序是:从左到右,然后从上到下,逐次增加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()          #显示所有图表  
执行结果:

python3 的 matplotlib绘图库的使用_第3张图片


(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()          #显示所有图表  
执行结果:

python3 的 matplotlib绘图库的使用_第4张图片


(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()  
执行效果:
python3 的 matplotlib绘图库的使用_第5张图片


(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()                  #展示所有图表  
执行效果:

python3 的 matplotlib绘图库的使用_第6张图片


(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()  
执行效果:

python3 的 matplotlib绘图库的使用_第7张图片


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()  
执行效果:

python3 的 matplotlib绘图库的使用_第8张图片


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()    
执行效果:

python3 的 matplotlib绘图库的使用_第9张图片


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()  
执行效果:

python3 的 matplotlib绘图库的使用_第10张图片


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()  
执行效果:

python3 的 matplotlib绘图库的使用_第11张图片


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()  
执行效果:

python3 的 matplotlib绘图库的使用_第12张图片


附上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

你可能感兴趣的:(python)