Matplotlib库基础_一

Matplotlib库基础

•pyplot绘制坐标

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

    x:x轴数据,列表或数组,可选
    y:y轴数据,列表或数组
    format_string:控制曲线的格式字符串,可选
    **kwargs:第二组或更多(x,y,format_string)
    当控制多条曲线时,各x不能省略

import matplotlib.pyplot as plt

plt.plot([3,1,4,5,2])
plt.xlabel('x')
plt.ylabel('y')
plt.axis([-1,10,0,6])
#默认png文件,可通过dpi改变输出质量
plt.save('test',dpi=600)
plt.save('test.jpg')
plt.show()

import matplotlib.pyplot as plt
import numpy as np

x = np.arange(0,12,2)
plt.plot(x,x*1.5,'*',x,x*2.5,'go:',x,x*3.5,'^--',x,x*4.5,'rx-.')
plt.show()

  • 中文显示

   1.全局 利用matplotlib.rcParams

import matplotlib
import matplotlib.pyplot as plt

matplotlib.rcParams['font.family'] = 'SimHei'
matplotlib.rcParams['font.size'] = 10

plt.plot([3,1,4,5,2])
plt.ylabel("纵轴(值)")
plt.xlabel("横轴(变量)")
plt.show()

  2.局部,利用fontproperties

plt.plot([3,1,4,5,2],'r-.')
plt.title('坐标轴',fontproperties='SimHei',fontsize=20)
plt.ylabel('纵轴(值)',fontproperties='SimHei',fontsize=10)
plt.xlabel('横轴(变量)',fontproperties='SimHei',fontsize=10)
# plt.text(2,1,r'$\mu=100$',fontsize=15)
#xy是箭头所在位置 xytext是文本所在位置
#shrink 箭头到文字有空白
plt.annotate(r'$\mu=100$',xy=(3,3),xytext=(3,1.5),\
             arrowprops=dict(facecolor='black',shrink=0.1,width=2))
# #表格 
plt.grid(True)
plt.show()

import numpy as np
import matplotlib.pyplot as plt

x = np.arange(0,12,2)
y = x*0.5
plt.axis([0,10,0,10])
print(x)
print(y)
plt.plot(x,y,'r-.')
plt.title("Label")
plt.xlabel("X-横轴",fontproperties='SimHei',fontsize=15)
plt.ylabel("Y-纵轴",fontproperties='SimHei',fontsize=15)
plt.text(8,8,"这是一个坐标轴",fontproperties='SimHei',fontsize=10)
plt.annotate('Y=X*0.5',fontsize=10,xy=(5,2.5),xytext=(5,5),\
             arrowprops=dict(facecolor='black',shrink=0.1,width=0.5))
plt.gride()
plt.show()
View Code

 


 

 

•pyplot的子绘图区域

  • plt.subplot(xyz) / plt.subplot(x,y,z)共有x行y列,处于第z个
import matplotlib.pyplot as plt

plt.subplot(2,2,1)
plt.subplot(2,2,2)
plt.subplot(223)
plt.subplot(224)
plt.show()

 

 

  • 自定义子区域 
  1.plt.subplot2grid((m,n),(x,y),colspan,rowspan)
    第一个元组:把整个画布分成m行n列
    第二个元组:此自定义网格的起始位置
    colspan占列宽度 rowspan占行宽度
import matplotlib.pyplot as plt

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

 

 

  2.利用gridspec.GridSpec

  gridspec.GridSpec(m,n)把整个画布分成m行n列
import matplotlib.gridspec as grisdpec

gs = grisdpec.GridSpec(3,3)
plt.subplot(gs[0,:])
plt.subplot(gs[1,:2])
plt.subplot(gs[2,:1])
plt.subplot(gs[2,1:2])
plt.subplot(gs[1:,-1])
plt.show()

 

posted @ 2021-02-02 22:13  MMMMinoz  阅读(69)  评论(0编辑  收藏  举报