添加y轴参考线:plt.axhline()
plt.annotate()添加注解:
plt.annotate(u"aa", xy = (0, 1), xytext = (1, 4),
arrowprops = dict(facecolor = "g", headlength = 5, headwidth = 10, width = 10))
# 第一个参数:注释的内容
# xy:箭头尖的坐标
# xytext:注释内容显示的起始位置
# arrowrops:用来设置箭头。
其中:facecolor:箭头的颜色
headlength:箭头头的长度
headwidth:箭头的宽度
width:箭身的宽度
一、matplotlib图表窗口
matplotlib图表窗口主要有以下四种形式:
(1)先画图,然后通过 plt.show() 显示
(2)%matplotlib inline :嵌入图表 (建议用此方法)
(3)%matplotlib notebook :弹出可交互的matplotlib窗口
可以在交互窗口中调节大小或缩放、保存等
(4)%matplotlib qt5 :弹出matplotlib控制台,可在控制台调节
plt.gcf().clear() # 每次清空图表内的内容(一般在画图之前使用)
plt.close() # 关闭窗口
注意:如果前面已经设置了其他显示窗口模式(如notebook),要设置控制台窗口时,需要重启再运行此函数。
网页嵌入的交互式窗口和控制台只能显示一个!
其中(2)——(4)都是魔法函数,不用再输入plt.show()
二、子图创建
在matplotlib中,整个图像是一个figure对象,在figure对象中可以包含一个或多个axes对象,每个axes是拥有自己的坐标系的绘图区域。
创建figure对象:
plt.figure(num =1 ,figsize =(10,4))
# num: 图表序号
# figsize:图表大小
创建子图的方法:
(1)先创建一个figure,再添加子图,再填充图表:fig.add_subplot()
fig = plt.figure()
ax1 = fig.add_subplot(2,2,1)
ax1.plot() 或 plt.plot()
(2)创建一个新的figure,并返回一个subplots对象的numpy数组:plt.subplots() → (建议)
fig,axes = plt.subplots(2,2,figsize=(10,6))
axes[0,0].plot()
# plt.subplots()参数:
# sharex/sharey:是否共享x/y轴刻度
plt.subplots_adjust(wspace=0,hspace=0)
# wsapce,hspace:用于控制高度和宽度的百分比,调整subplot之间的间距
(3)多系列子图,可以分别绘制
df.plot(...,subplots=True,layout=(2,3))
# subplots:是否绘制多系列子图
# layout: 绘制子图矩阵,按序列填充