简介:
一:Matplotlib库的介绍
(一)简单使用
二:区域划分subplot
三:plot函数
四:pyplot的中文显示
(一)方法一:修改rcParams参数
(二)方法二(推荐),在有中文地方增加属性:fontproperties
五:pyplot的文本显示方法
六:pyplot的子绘图区域
(一)subplot2grid()
(二)GridSpec类加上subplot方法
一:Matplotlib库的介绍


(一)简单使用
import matplotlib.pyplot as plt
plt.plot([,,,,])
plt.ylabel("grade")
plt.show()

import matplotlib.pyplot as plt
plt.plot([,,,,])
plt.ylabel("grade")
plt.savefig("test",dip=) #png文件,dpi修改输出质量
plt.show()

import matplotlib.pyplot as plt
plt.plot([,,,,],[,,,,]) #第一个列表是x轴列表,第二个是y轴列表
plt.ylabel("grade")
plt.axis([-,,,]) #前两个是x轴的取值范围-1到10,后两个是y轴取值范围0-6
plt.show()

二:区域划分subplot

注意:划分区域可以不使用','
import matplotlib.pyplot as plt
import numpy as np
def f(t):
return np.exp(-t)*np.cos(*np.pi*t) #衰减曲线
a = np.arange(0.0,5.0,0.02)
plt.subplot() #划分为两行一列,选取第一个区域
plt.plot(a,f(a)) #绘制衰减曲线
plt.subplot(,,) #在将绘图区域换到整个绘图区域的第二个,自动切换
plt.plot(a,np.cos(*np.pi*a),'r--') #绘制余弦曲线
plt.show()

三:plot函数

import matplotlib.pyplot as plt
import numpy as np
a = np.arange()
plt.plot(a,a*1.5,a,a*2.5,a,a*3.5,a,a*4.5) #每两个是一条曲线
plt.show()

当我们不选择线条形状为空时,可以变为其他非线性图
import numpy as np
import matplotlib.pyplot as plt
ax = plt.subplot()
ax.plot(*np.random.randn(),*np.random.randn(),'o')
ax.set_title("Simple Scatter")
plt.show()

如何控制颜色等曲线属性:通过参数format_string



import matplotlib.pyplot as plt
import numpy as np
a = np.arange()
plt.plot(a,a*1.5,'go-',a,a*2.5,'rx',a,a*3.5,'*',a,a*4.5,'b-.')
plt.show()


四:pyplot的中文显示
(一)方法一:修改rcParams参数

import matplotlib.pyplot as plt
import matplotlib
matplotlib.rcParams['font.family']='SimHei'
plt.plot([,,,,],[,,,,])#第一个列表是x轴列表,第二个是y轴列表
plt.ylabel("纵向轴") #默认是不允许中文,会报错
plt.axis([-,,,]) #前两个是x轴的取值范围-1到10,后两个是y轴取值范围0-
plt.show()



import matplotlib.pyplot as plt
import numpy as np
import matplotlib
matplotlib.rcParams['font.family'] = "SimHei"
matplotlib.rcParams['font.size'] =
a = np.arange(0.0,5.0,0.02)
plt.xlabel("横轴:时间")
plt.ylabel("纵轴:振幅")
plt.plot(a,np.cos(*np.pi*a),'r--')
plt.show()

(二)方法二(推荐),在有中文地方增加属性:fontproperties
import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.xlabel("横轴:时间",fontproperties="SimHei",fontsize=)
plt.ylabel("纵轴:振幅",fontproperties="SimHei",fontsize=)
plt.plot(a,np.cos(*np.pi*a),'r--')
plt.show()

五:pyplot的文本显示方法

import matplotlib.pyplot as plt
import numpy as np
a = np.arange(0.0,5.0,0.02)
plt.plot(a,np.cos(*np.pi*a),'r--')
plt.xlabel("横轴:时间",fontproperties="SimHei",fontsize=,color="green")
plt.ylabel("纵轴:振幅",fontproperties="SimHei",fontsize=)
plt.title(r'正弦波实例 $cons(2\pi x)$',fontproperties="SimHei",fontsize=)
plt.text(,,r'$\mu=100$',fontsize=) #2 1 是横纵坐标
plt.axis([-,,-,])
plt.grid(True)
plt.show()


plt.annotate(r"$\mu=100$",xy=(,),xytext=(,1.5),arrowprops=dict(facecolor="black",shrink=0.1,width=)) #shrink是箭头两边到图像,文字之间的间隔(相对于箭头的比例)

六:pyplot的子绘图区域
上面使用了subplot进行了简单的区域划分,下面考虑复杂的绘图区域的划分

(一)subplot2grid()



(二)GridSpec类加上subplot方法

总结

