matplotlib中常用函数_第1页
matplotlib中常用函数_第2页
matplotlib中常用函数_第3页
matplotlib中常用函数_第4页
matplotlib中常用函数_第5页
已阅读5页,还剩15页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、精选优质文档-倾情为你奉上matplotlib中常用函数· 散点图· 柱状图· 等高线· matplotlib绘制3D图· 子图像· 动态图常见设置一、设置坐标轴1. # x轴和y轴的值域2. plt.xlim(-1,2)3. plt.ylim(-2,3)4. 5. # color为线的颜色,linewidth为线宽度,linestyle为样式(-为实线,-为虚线)6. plt.plot(x,y,color='red',linewidth=1.0,linestyle='')7. 8. plt.figur

2、e #绘制一个新画布9. plt.figsize #花布尺寸10. 11. # x和y轴12. plt.xtick()13. plt.ytick()14. 例如:15. plt.xticks(new_ticks) #new_ticks 为-2,2分成十一等份16. plt.yticks(-1,0,1,2,3,17. 'level2','level2','level3','level4','level5') 二、·1. plt.gca #获取当前的坐标轴2. spines'right

3、9;.set_color('red) #右边框为红色3. # 分别把x轴与y轴的刻度设置为bottom与left4. xaxis.set_ticks_position('bottom')5. yaxis.set_ticks_position('left)6. # 分别v把bottom和left类型设置为data,交点为(0,0)7. spines'bottom'.set_position('data',0)8. spines'left'.set_position('data',0)9. 10. 11

4、. 例如:12. ax = plt.gca()13. ax.spines'right'.set_color(red')14. ax.spines'top'.set_color(red)三、15. l1, = plt.plot(x,y1,color='red',linewidth=1.0,linestyle='') #设置两条线为l1,l2 注:应该在后面加上,16. l2, = plt.plot(x,y2,color="blue",linewidth=5.0,linestyle="-"

5、;)17. plt.legend(handles=l1,l2,labels='test1','test2',loc='best) #将l1,l2绘制于一张图中,其中名字分别是l1,l2,位置自动取在最佳位置设置备注18. x0 = 0.519. y0 = 2*x0 + 120. # 画点21. plt.scatter(x0,y0,s=50,color='blue')22. # 画虚线23. plt.plot(x0,x0,y0,0,'k-',lw=2)#x0,x0,y0,0代表x0,y0点作虚线交于x0,0 k-代表颜色的虚

6、线,lw代表宽度24. plt.annotate(r'$2x+1=%s$' % y0,xy=(x0,y0),xytext=(+30,-30),textcoords='offset points',fontsize=16,arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')25. #xy=(x0,y0)指在x0,y0点,xytext=(+30,-30)指在点向右移动30,向下移动30,textcoords='offset points'指以

7、点为起点26. #arrowprops=dict(arrowstyle='->',connectionstyle='arc3,rad=.2')指弧度曲线, .2指弧度27. plt.text(-2,2,r'$This is the text$',fontsize=16,color='red) #-2,2指从-2,2开始写散点图28. x = np.random.normal(0,1,500)29. y = np.random.normal(0,1,500)30. plt.scatter(x,y,s=50,color='blu

8、e',alpha=0.5) #s指点大小,alpha指透明度31. plt.show()柱状图32. x = np.arange(10)33. y = 2*x + 1034. plt.bar(x,y,facecolor='#9999ff',edgecolor='white')#柱颜色,柱边框颜色35. for x,y in zip(x,y):#zip指把x,y结合为一个整体,一次可以读取一个x和一个y36. plt.text(x,y,'%.2f' % y,ha='center',va='bottom')#指

9、字体在中间和柱最顶的顶部37. plt.show()等高图38. def f(x,y):39. #用来生成高度40. return (1-x/2+x*5+y*3)*np.exp(-x*2-y*2)41. 42. x = np.linspace(-3,3,100)43. y = np.linspace(-3,3,100)44. 45. X,Y = np.meshgrid(x,y)#将x,y指传入网格中46. plt.contourf(X,Y,f(X,Y),8,alpha=0.75,cmap=plt.cm.hot)#8指图中的8+1根线,绘制等温线,其中cmap指颜色47. 48. C = plt

10、.contour(X,Y,f(X,Y),8,colors='black',linewidth=.5)#colors指等高线颜色49. plt.clabel(C,inline=True,fontsize=10)#inline=True指字体在等高线中50. 51. plt.xticks()52. plt.yticks()53. plt.show()matplotlib绘制3D图54. from mpl_toolkits.mplot3d import Axes3D#动态图所需要的包55. fig = plt.figure()56. ax = Axes3D(fig)57. 58. x

11、 = np.arange(-4,4,0.25)#0.25指-4至4间隔为0.2559. y = np.arange(-4,4,0.25)60. X,Y = np.meshgrid(x,y)#x,y放入网格61. R = np.sqrt(X*2 + Y*2)62. Z = np.sin(R)63. 64. ax.plot_surface(X,Y,Z,rstride=1,cstride=1,cmap=plt.get_cmap('rainbow')#rstride=1指x方向和y方向的色块大小65. ax.contourf(X,Y,Z,zdir='z',offset=

12、-2,cmap='rainbow')#zdir指映射到z方向,-2代表映射到了z=-266. ax.set_zlim(-2,-2)67. 68. plt.show()子图像69. plt.figure()70. plt.subplot(2,2,1)#建立一个两行两列的画布,第一个71. plt.plot(0,1,0,1)72. plt.subplot(2,2,2)#第二个73. plt.plot(0,1,0,1)74. plt.subplot(2,2,3)#第三个75. plt.plot(0,1,0,1)76. plt.subplot(2,2,4)#第四个77. plt.plo

13、t(0,1,0,1)78. plt.show()79. plt.figure()80. plt.subplot(2,1,1)#建立一个两行两列的画布,第一个81. plt.plot(0,1,0,1)82. plt.subplot(2,3,4)#第二个83. plt.plot(0,1,0,1)84. plt.subplot(2,3,5)#第三个85. plt.plot(0,1,0,1)86. plt.subplot(2,3,6)#第四个87. plt.plot(0,1,0,1)88. plt.show()动态图89. from matplotlib import animation#动态图所需要

14、的包90. fig,ax = plt.subplots()#子图像91. x = np.arange(0,2*np.pi,0.01)92. line, = ax.plot(x,np.sin(x)93. 94. def animate(i):95. line.set_ydata(np.sin(x+i/10)#用来改变的y对应的值96. return line,97. def init():98. line.set_ydata(np.sin(x)#动态图初始图像99. return line,100. 101. ani = animation.FuncAnimation(fig=fig,func=

15、animate,init_func=init,interval=20)#动态作图的方法,func动态图函数,init_func初始化函数,interval指图像改变的时间间隔102. plt.show()注:若想看动态效果请在ipython中使用使用颜色映射颜色映射(colormap)是一系列颜色,它们从起始颜色渐变到结束颜色。在可视化中,颜色映射用于突出数据的规律,例如,你可能用较浅的颜色来显示较小的值,并使用较深的颜色来显示较大的值。1. import matplotlib.pyplot as plt 2. 3. x_values = list(range(1001) 4. y_value

16、s = x*2 for x in x_values 5. 6. plt.scatter(x_values, y_values, c=y_values, cmap=plt.cm.Blues, edgecolor='none', s=40)数据分析 matlab Numpy + scipy + pandas +matplotlib 数据计算 +科学应用数据清洗数据可视化Numpy概述基于c语言的python接口的数值算法库开源免费弥补了python语言在数值计算方面的短板作为常用科学计算工具的底层支撑Numpy的性能简化代码编写,提高开发效率通过优化底层实现,提高运行速度 基础:数

17、组Numpy中的数组是ndarray类实例化的对象: 实例数据:数组的内容 元数据:对数组的描述 大部分对数组的操作仅仅是对元数据的操作,以此提高执行性能Numpy中的数组必须是同质的,即所有元素的数据类型必须完全相同dtype和shape属性分别表示元素类型和维度实例化 np.arange(起始值,终止值,步长) 默认起始值0 默认步长:1 np.array(任何可被解释为数组的序列)类型转换astype(目标类型)->转换后的新数组'<U21' 表示字符串,其中每个字符都是小端字节序的21位Unicode字符多维数组和元素索引 数组的维度表示为一个元组:(高维度

18、数->低维度数) 一维数组,6个元素:(6,) 二维数组,2行3列:(2,3) 三维数组,2页3行4列:(2,3,4)通过下标运算符访问数组中的元素数组页标行标列标数据类型 存储形式,处理方式内置类型 布尔型 bool_ : True/False 整型 有符号 :int8/int16/int32/int64 无符号 : uint8/uint16/uint32/uin64 浮点型: float16/float32/float64 复数型 :complex64/complex128复合类型 有多个相同或不同类型的字段组合而成的类型 np.array(.,dytpe=复合类型)类型字符码 bo

19、ol_:? 有符号整型:i1/2/4/8 无符号整型:u1/2/4/8 浮点型: f2/4/8 复数型:c8/16 字符串:U<字符数> 日期时间:M 字节序(针对多字节整型):</>/=表示小端/大端/硬件切片 数组起始:终止:步长 默认起始:首(正步长)/尾(负步长) 默认终止:尾后(正步长)/首前 默认步长:1变维视图变维:元数据独立,实际数据共享数组.reshape(新维度) ->新数组 元素数和维度数必须匹配数组.ravel() -> 得到的是一维数组复制变维:元数据和实际数据都是独立的 数组.flatten() ->一维数组 (数组运算不会

20、改变)就地变维:修改元数据的值(维度信息,不会产生新的数组对象) 数组.shape = 新维度 数组.resize(新维度) 组合拆分垂直组合:沿着垂直方向组合两个小的同维数组为一个大数组 np.vstack(上,下) np.concatenate(上,下),axis=0) axis : 轴向,用维度的下标表示 0为行,1为列水平组合:沿着水平方向组合两个小的同维数组为一个大数组 np.hstack(左,右) np.concatenate(左,右),axis=1)深度组合:沿着纵深方向组合两个小的同维数组为一个大数组 np.dstack(前,后) 会升维行组合:以两个一维数组按照行的方式组合成

21、一个二维数组 np.row_stack(上,下)列组合:以两个一维数组按照列的方式组合成一个二维数组 np.column_stack(左,右)垂直拆分:将一个大的数组沿着垂直方向拆分成若干个小的同维数组 np.vsplit(被拆分数组,拆分份数) np.split(被折分数组,拆分份数,axis=0)水平拆分:将一个大的数组沿着水平方向拆分成若干个小的同维数组 np.hsplit(被折分数组,拆分份数) np.split(被折分数组,拆分份数,axis=1)深度拆分:将一个大的数组沿着纵深方向拆分成若干个小的同维数组 np.dsplit(被拆分数组,拆分份数)ndarray的属性 dtype

22、-元素的数据类型 shape - 数组的维度 ndim - 数组的维数,len(shape) size - 数组的元素数,shape中元素相乘 itemsize - 元素字节数,与dtype相关 nbytes - 总字节数,size x itemsize T - 转置视图 real - 复数数组的实部视图 imag - 复数数组的虚部视图 flat - 扁平迭代器ndarray <=>list np.array(列表) 二:数据可视化(Matplotlib)基本绘图 plot(水平坐标,垂直坐标)线型,线宽和颜色 plot(.,linestyle=线型,linewidth=线宽,c

23、olor=颜色,.) 线形:-/-/:./o/o-/. 线宽:0-oo color:dodgerblue/orangeered/limegreen/red/blue/.设置坐标范围 xlim(水平坐标最小值,水平坐标最大值) ylim(水平坐标最大值,水平坐标最大值) 坐标范围越大,图形越小,反而反之。设置坐标刻度 xticks(水平轴刻度位置) yticks(垂直轴刻度位置) 表示数学的字符pi( r'$-pi$' ) 表示数学2分之pi ( r'$-fracpi2$' )设置坐标轴属性 ax = gca() # 获取当前坐标轴图 ax.spines'

24、left' - 左纵轴 ax.spines'left'.set_position('data', 0) ax.spines'right' - 右纵轴 ax.spines'top' - 上横轴 ax.spines'bottom' - 下横轴 XX轴.set_position(坐标系,坐标值) #设置位置 XX轴.set_color(颜色) #设置颜色 ax.spines'top'.set_color('none')图例 plot(.,label=图例标签,.) legend(l

25、oc=显示位置)添加特点 scatter(水平坐标,垂直坐标,s=大小,marker=点型, edgecolor=边缘色,facecolor=填充色,zorder=Z顺序)备注 annotate( 备注文本, xy =目标坐标, xycoords =目标坐标系, xytext=文本坐标, textcoords=文本坐标系, fontsize=字体大小, arrowprops=箭头属性)图形(窗口)对象 figure(窗口名(标题栏文本),figsize=大小,dip=分辨率,facecolor=颜色) 如果与指定窗口名对应的图形对象不存在,那么就新建一个图形窗口,如果已存在,那么不会再新建图形

26、窗口,而是将已存在的那个图形窗口设置为当前窗口 title(窗口标题,fontsize=字体大小) xlabel(垂直轴标签,fontsize=字体大小) tick_params(labelsize=刻度标签字体大小) grid(linestyle=网格线型)子坐标图矩阵布局 subplot(行数,列数,图号) tight_layout() #紧凑布局删格布局 删格定位器 = mp.GridSpec(行数,列数) subplot(删格定位器行,列自由布局 axes(左,底,宽,高) # 归一化单位刻度定位器 xxxLocator(定位规则) ax = gca() ax.xaxis 水平坐标 a

27、x.yaxis 垂直坐标 坐标轴.set_major_locator(刻度定位器) #主刻度 坐标轴.set_minor_locator(刻度定位器) #次刻度 mp.axis('off') #关闭坐标轴区域填充 fill_between(水平坐标,起点垂直坐标,终点垂直坐标,color=颜色,alpha=透明度 )条形图 bar(水平坐标,绝对高度,相对宽高,color=颜色,label=图例标签,alpha=透明度)饼图 pie(值数组,间隙数组,标签数组,颜色数组,shadow =是否带阴影,startangle=起始角度)等高线图 contour(点阵X坐标矩阵,点阵Y

28、坐标矩阵,点阵Z坐标矩阵,梯度数,colors=颜色,linewidths=线宽)热力图网格线 ax = gca() ax.grid(which="major/minor",axis='x/y/both')半对数坐标 semi(同plot)极坐标 gca(projection='polar') #创建极坐标图 plot/scatter(极角,极径)三维坐标系 from mp;_toolkits.mplot3d import axes3d三维散点 ax.scatter(x坐标,Y坐标,Z坐标,s= 大小,marker=点形 , edgecolor=边缘色,fancecolor=填充色, zorder=Z顺序)空间曲面 ax.plot_surface(点阵X坐标,点阵Y坐标矩阵,点阵Z坐标矩阵,rstride=行跨距, cstride=列跨距,cmap=颜色映射) ax.plot_wireframe(点阵X坐标矩阵,点阵Y坐标矩阵,点阵Z坐标矩阵, rstride=行跨距,cstride=列跨距,linewidth=线宽,color=颜色)matplotlib.pyplot contourf coutour(X, Y, Z,levels, *kwarg

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论