小言_互联网的博客

python数据分析与展示--matplotlib基本绘制函数

393人阅读  评论(0)

一.pyplot基本图标函数概述

以下是对pyplot一些基本绘图函数的介绍,内容较多,故分多表介绍:

pyplot的基本图标函数1
函数 说明
plt.plot(x,y,fmt,...) 绘制一个坐标图
plt.boxplot(data,notch,position) 绘制一个箱形图
plt.bar(left,height,width,bottom) 绘制一个条形图
plt.barh(width,bottom,left,height) 绘制一个横向条形图
plt.polar(theta,r) 绘制极坐标图
plt.pie(date,explode) 绘制饼图

pyplot的基本图标函数2
函数 说明
plt.psd(x,NFFT=256,pad_to,Fs) 绘制功率谱密度图
plt.specgram(x,NFFT=256,pad_to,F) 绘制谱图
plt.cohere(x,y,NFFT=256,Fs) 绘制X-Y的相关性函数
plt.scatter(x,y) 绘制散点图,其中,x和y长度相同
plt.step(x,y,where) 绘制步阶图
plt.hist(x,bins,normed) 绘制直图

pyplot的基本图标函数3
函数 说明
plt.contour(X,Y,Z,N) 绘制等值图
plt.vlines() 绘制垂直图
plt.stem(x,y,linefmt,markerfmt) 绘制柴火图
plt.plot_date() 绘制数据日期

二.pyplot饼图绘制

饼图绘制plt.pie()函数,plt.axis()缩放操作

代码实例:


  
  1. import matplotlib.pyplot as plt
  2. labels = 'sing', 'dance', 'rap', 'basketball'
  3. size = [ 15, 30, 45, 10]
  4. explode = ( 0, 0.1, 0, 0)
  5. plt.pie(size, explode=explode, labels=labels, autopct= '%1.1f%%',
  6. shadow= True, startangle= 90)
  7. plt.axis( 'equal')
  8. plt.show()

效果图:

 

当shadow为false是,饼图没有立体阴影效果:


三.pyplot直方图绘制 

直方图绘制函数plt.hist()

hist常用参数:

·bins:直方图区间的个数

·color:柱子颜色

·edgecolor:柱子边框颜色

·denstiy:参数默认为Flase,表示用每个区间的数值个数来绘图,当去True时,柱子的高度为每个区间的频率

·orientation:表示柱子的方向,默认值为vertical,为竖直方向,当取值为horizontal时为水平向

·histtpe:指定绘图的类型,参数bar和stepfilled一样,当参数为step时只绘边框的线条

·alpha:设置像素

代码实例:


  
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed( 0)
  4. mu,sigma= 100, 20 #均值和标准差
  5. a=np.random.normal(mu,sigma,size= 100)
  6. plt.hist(a, 20,histtype= 'stepfilled',facecolor= 'b',alpha= 0.75)
  7. plt.title( 'Histogram')
  8. plt.show()

效果图:


又如:


  
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. np.random.seed( 0)
  4. mu,sigma= 100, 20 #均值和标准差
  5. a=np.random.normal(mu,sigma,size= 100)
  6. plt.hist(a, 20, histtype= 'bar', facecolor= 'b', alpha= 0.75,
  7. edgecolor= 'k',orientation= 'horizontal')
  8. plt.title( 'Histogram')
  9. plt.show()

图:


 四.pyplot极坐标图的绘制


  
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. N= 20
  4. theta=np.linspace( 0.0, 2*np.pi,N,endpoint= False)
  5. radii= 10*np.random.rand(N)
  6. width=np.pi/ 4*np.random.rand(N)
  7. ax=plt.subplot( 111,projection= 'polar')
  8. bars=ax.bar(theta,radii,width=width,bottom= 1.0)
  9. for r,bar in zip(radii,bars):
  10. bar.set_facecolor(plt.cm.viridis(r/ 10.))
  11. bar.set_alpha( 0.5)
  12. plt.show()

图:

代码详解:

theta=np.linspace(0.0,2*np.pi,N,endpoint=False)

 将0到均匀分成N份

width=np.pi/4*np.random.rand(N)

生成的数,形成密度值

ax=plt.subplot(111,projection='polar')

111为子分区,表示生成1*1矩阵的图取第一个图,projection表示画的极坐标

最后for循环用于图像添加颜色


五.pyplot散点图绘制

代码:


  
  1. import matplotlib.pyplot as plt
  2. import numpy as np
  3. fig,ax=plt.subplots()
  4. ax.plot( 10*np.random.randn( 100), 10*np.random.randn( 100), 'o')
  5. ax.set_title( 'Simple Scatter')
  6. plt.show()

效果图:

 



转载:https://blog.csdn.net/weixin_63009369/article/details/127839386
查看评论
* 以上用户言论只代表其个人观点,不代表本网站的观点或立场