博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

Matplotlib 库 (未完成)

Posted on 2020-09-07 11:49  leonsusie  阅读(135)  评论(0)    收藏  举报

#python 3.8.5

matplotlib 库 3.3.0   官网 https://matplotlib.org/

导入库方法,plt作为约定的别名

1 import matplotlib.pyplot as plt

 

  • 基本的plt绘制
1import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei' #通过此属性,让图可以显示中文

plt.plot([0,2,4,6,7,8],[3,4,5,1,5,7]) #黄色为x轴坐标,橙色为y轴值 plt.xlabel('x') #设定x轴标签‘x’ plt.ylabel('y') #设定y轴标签'y' plt.axis([-1,10,-1,50]) #设定x,y轴的起始和结束值 plt.savefig('demo',dpi=400) #图保存函数,命名,和清晰度,dpi越大,越清晰 plt.show() #显示图

 

1 plt.plot(x, y, format_string, **kwargs)

其中

x : X轴数据,列表或数组,可选
y : Y轴数据,列表或数组
format_string: 控制曲线的格式字符串,可选

颜色字符说明 颜色字符说明  
'b' 蓝色 'm' 洋红色magenta  
'g' 绿色 'y' 黄色  
'c' 青绿色cyan 'w' 白色  
'#008000' RGB某颜色 '0.8' 灰度值字符串

  

   

 

风格字符

说明  
'‐' 实线

 

 

'‐‐' 破折线
'‐.' 点划线
':' 虚线
'' ' ' 无线条

 

控制曲线的格式字符串,可选

标记字符 说明        

 plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'x*,a,a*4.5,'b-.')

'.' 点标记 '1' 下花三角标记 'h' 竖六边形标记

 

 

',' 像素标记(极小点) '2' 上花三角标记 'H' 横六边形标记
'o' 实心圈标记 '3' 左花三角标记 '+' 十字标记
'v' 倒三角标记 '4' 右花三角标记 'x' x标记
'^' 上三角标记 's' 实心方形标记 'D' 菱形标记
'>' 右三角标记 'p' 实心五角标记 'd' 瘦菱形标记
'<' 左三角标记 '*' 星形标记 '|' 垂直线标记

 

 **kwargs : 第二组或更多(x,y,format_string)
color : 控制颜色, color='green'
linestyle : 线条风格, linestyle='dashed'
marker : 标记风格, marker='o'
markerfacecolor: 标记颜色, markerfacecolor='blue'
markersize : 标记尺寸, markersize=20

 

  1. plt文本显示函数:

plt.xlabel() 对X轴增加文本标签
plt.ylabel() 对Y轴增加文本标签
plt.title() 对图形整体增加文本标签
plt.text() 在任意位置增加文本
plt.annotate() 在图形中增加带箭头的注解

plt.annotate(s, xy=arrow_crd, xytext=text_crd, arrowprops=dict)

 

 

 

  • plt布局函数

plt.subplot2grid(GridSpec, CurSpec, colspan=1, rowspan=1)

理念:设定网格,选中网格,确定选中行列区域数量,编号从0开始

plt.subplot2grid((3,3), (1,0), colspan=2)

 

 

 

GridSpec类

import matplotlib.gridspec as gridspec
import matplotlib.pyplot as plt
gs=gridspec.GridSpec(3,3)
ax1=plt.subplot(gs[0,:])
ax2=plt.subplot(gs[1,0:2])
ax3=plt.subplot(gs[1:3,-1])
ax4=plt.subplot(gs[2,0])
ax5=plt.subplot(gs[2,1])
plt.show()

 

 

 

  • pyplot基础图函数

 

函数 实例  效果

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)

绘制极坐标图

 #绘制极图
import matplotlib.pyplot as plt
import numpy as np

N=20
theta=np.linspace(0.0,2*np.pi,N,endpoint=False)
radii=10*np.random.rand(N)
width=np.pi/4*np.random.rand(N)

ax=plt.subplot(111,projection='polar')
bars=ax.bar(theta,radii,width=width,bottom=1.0)
for r,bar in zip(radii,bars):
    bar.set_facecolor(plt.cm.viridis(r/10.0))
    bar.set_alpha(0.5)
plt.title('Polar')
plt.show()
 

 

 

plt.pie(data, explode)

绘制饼图

label=['a','b','c','d']
data=[4,8,8,10]
explode=(0,0.1,0,0)
plt.pie(data, explode=explode,labels=label,autopct='%.1f%%',shadow=False,startangle=90)
plt.show()

 

 


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)

绘制直方图

 #绘制饼图
import matplotlib.pyplot as plt
import numpy as np
np.random.seed(0)
mu,sigma=100,6
a=np.random.normal(mu,sigma,size=100) #原始数据
bin=20 #直方的个数
plt.hist(a,bin,histtype='stepfilled',facecolor='b',alpha=0.75)
#统计a元素,落在每个bin的个数,alpha为柱子的透明度

plt.title('Histogram')
plt.show()
 

 

 

plt.contour(X,Y,Z,N)

绘制等值图

   

plt.vlines() 绘制垂直图
   


plt.stem(x,y,linefmt,markerfmt)

绘制柴火图

   

plt.plot_date()

绘制数据日期