2018-10-31
今天来看下matplotlib第三方库:
''' Matplotlib是一个Python 2D绘图库,它可以在各种平台上以各种硬拷贝格式和交互式环境生成出具有出版品质的图形。 Matplotlib可用于Python脚本,Python和IPython shell,Jupyter笔记本,Web应用程序服务器和四个图形用户界面工具包 Matplotlib试图让简单的事情变得更简单,让无法实现的事情变得可能实现。 只需几行代码即可生成绘图,直方图,功率谱,条形图,错误图,散点图等。 有关示例,请参阅示例图和缩略图库。 为了简单绘图,pyplot模块提供了类似于MATLAB的界面,特别是与IPython结合使用时。 对于高级用户,您可以通过面向对象的界面或MATLAB用户熟悉的一组函数完全控制线条样式,字体属性,轴属性等。
官网教程文档:https://matplotlib.org/users/index.html
各个平台的安装教程:https://matplotlib.org/users/installing.html
中文总结地址:https://blog.csdn.net/qq_34337272/article/details/79555544
''''''--------------------------------------------------------------------''''''
《code1:首先学习怎么画折线图》
''''''
import numpy as np
import matplotlib.pyplot as pltx
np.array([1,2,3,4,5,6,7,8])
y = np.array([3,5,7,6,2,6,10,15])plt.plot(x,y,'black')# 折线 1 x 2 y 3 color 4 笔粗(默认是1)
#plt.plot(x,y,'g',lw=10)
# 4 line wplt.show()
''''''--------------------------------------------------------------------''''''
《code2:怎么画柱状图》
import numpy as np
import matplotlib.pyplot as pltx = np.array([1,2,3,4,5,6,7,8])y = np.array([13,25,17,36,21,16,10,15])plt.bar(x,y,0.1,alpha=0.5,color='b')#1横坐标,2纵坐标,3圆柱宽度,4alpha代表透明度只能是0~1之间的数,5color代表圆柱颜色plt.show()
''''''--------------------------------------------------------------------''''''
《code3:简单函数的绘制》
''''''
import matplotlib.pyplot as plt
import numpy as np#从-1-----1之间等间隔采66个数.也就是说所画出来的图形是66个点连接得来的#注意:如果点数过小的话会导致画出来二次函数图像不平滑
x = np.linspace(-1, 1,66)# 绘制y=2x+1函数的图像
y = 2 * x + 1plt.plot(x, y)
y = x**2
plt.plot(x,y)plt.show()
''''''--------------------------------------------------------------------''''''
《code4:figure的简单使用》
作用:figure函数的作用就是设置画框的界面,有多少个不同的figure函数最后调用的时候就会调用多少个画框。
matplotlib.pyplot.figure(num=None, figsize=None, dpi=None, facecolor=None, edgecolor=None, frameon=True, FigureClass=, clear=False, **kwargs)
逐一讲解一下参数:
(1)num:这个参数是一个可选参数,即可以给参数也可以不给参数。可以将该num理解为窗口的属性id,即该窗口的身份标识。 如果不提供该参数,则创建窗口的时候该参数会自增,如果提供的话则该窗口会以该num为Id存在。
(2)figsize:可选参数。整数元组,默认是无。提供整数元组则会以该元组为长宽,若不提供,默认为 rc fiuguer.figsize 例如(4,4)即以长4英寸 宽4英寸的大小创建一个窗口
(3)dpi:可选参数,整数。表示该窗口的分辨率,如果没有提供则默认为 figure.dpi
(4)facecolor:可选参数,表示窗口的背景颜色,如果没有提供则默认为figure.facecolor 其中颜色的设置是通过RGB,范围是'#000000'~'#FFFFFF',其中每2个字节16位表示RGB的0-255 例如'#FF0000'表示R:255 G:0 B:0 即红色。 (5)edgecolor:可选参数,表示窗口的边框颜色,如果没有提供则默认为figure,edgecolor,颜色设置方法同 facecolor
(6)frameon:可选参数,表示是否绘制窗口的图框,默认是
(7)figureclass:暂不了解
(8)clear:可选参数,默认是false,如果提供参数为ture,并且该窗口存在的话 则该窗口内容会被清除。 对于函数中的多个参数。假如你想部分提供参数,部分以默认值,则自左向右,默认值之前的参数无论是否是可选参数都必须提供参数, 否则编译错误。
import matplotlib.pyplot as plt
import numpy as np
x = np.linspace(-1, 1,100)
y1 = 2 * x + 1
y2 = x**2
plt.figure(num = 1, figsize =(10,10),dpi=10,facecolor='#00F100',edgecolor='#00FF00',frameon=True) plt.plot(x, y1)
plt.figure(num = 2, figsize = (10, 10))
plt.plot(x, y2)
plt.figure(num = 3, figsize = (10, 10))
plt.show()
''' '''--------------------------------------------------------------------''' '''
《直方图》
作用:统计一组数据在不同的均匀范围内出现次数的多少,可以直观的知道一组数据中在哪个范围内的数据较多, 哪个范围的数据较少
plt.hist(data,bins,edgecolor,linewidth)
data:数据来源列表
bins:数据落点范围列表,数据的间隔必须要均匀,且能包含全部数据,每一条直方图的宽度就是bins列表中的数据间隔
import matplotlib.pyplot as plt
data =[1,3,5,7,9,7,7,13,5,5,6,11,20,14,11,13,14,15,12,12,15,16,17,18,19,23,22,21,20,24,22,22,2,2,2,2,2,22,22,22,22,22, 33,34,34,34,34,55,55,55,47,40]
bins = [0,10,20,30,40,50,60]
plt.figure(num = '10的间隔', figsize = (10, 10))
plt.hist(data,bins,edgecolor='black',linewidth=1)
bins = [0,5,10,15,20,25,30,35,40,45,50,55,60]
plt.figure(num = '5的间隔', figsize = (10, 10))
plt.hist(data,bins,edgecolor='black',linewidth=1) plt.show()
'''--------------------------------------------------------------------'''