您的位置:首页 > 编程语言 > Python开发

python3 的 matplotlib绘图库的使用

2018-03-12 16:15 771 查看
1.绘制第一幅图表(1)figure函数,创建图表(2)subplot函数,创建子图(3)在多个图表中创建子图(4)plot()函数,画函数图像(5)sca()函数,选择子图(6)在 一张表中画多个曲线2.直方图3.散点图4.饼图5.图表的注释与标识6.加载txt文件并绘图
1.绘制第一幅图表(1)figure()函数,创建图表[python] view plain copyimport matplotlib.pyplot as plt  
plt.figure(1)   #创建图表1  
plt.figure(2)      #创建图表2  
plt.show()          #显示所有图表  
执行效果:


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

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

有如:显示四个子图[python] view plain copyimport 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)在多个表中创建子图
[python] view plain copyimport 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(x,y)  的 x 参数表示x值,y参数表示y值[python] view plain copyimport 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()函数,选择子图[python] view plain copyimport 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)在一张表中画多个曲线[python] view plain copyimport 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()函数:[python] view plain copyimport 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 轴坐标[python] view plain copyimport 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()函数[python] view plain copyimport 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.图表的注释与标识[python] view plain copyimport 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()函数[python] view plain copyimport 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文件:[plain] view plain copy0,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  

参考资料:http://blog.csdn.net/u014453898/article/details/73395522
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: