首页编程开发Matplotlib【数据可视化(Matplo...

【数据可视化(Matplotlib篇)】11.绘制参考线

本系列文章配套代码获取有以下两种途径:

  • 通过百度网盘获取:
链接:https://pan.baidu.com/s/1jG-rGG4QMuZu0t0kEEl7SA?pwd=mnsj 提取码:mnsj
  • 前往GitHub获取
https://github.com/returu/Data_Visualization





Matplotlib绘制参考线主要有以下几种方式:
  • axhline()axvline()函数:分别绘制平行于x轴、y的参考线;
  • hlines()vlines()函数:分别绘制平行于x轴、y的一条或多条参考线;
  • axline()函数:绘制指定两点间或斜率的参考线。
01
axhline()、axvline()函数

  • axhline()函数:
axhline()函数可以在图表内绘制水平参考线,语法如下:
plt.axhline(y=0,xmin=0,xmax=1,**kwargs)
其中:
  • y:可选参数,因为是绘制水平线,所以这是y轴值默认值为0
  • xmin:可选参数,默认是0,因为是绘制水平线,此数值是相对位置,所以此值必须在0~1之间,0代表最左位置,1代表最右位置。
  • xmax:可选参数,默认是1,因为是绘制水平线,此数值是相对位置,所以此值必须在0~1之间,0代表最左位置,1代表最右位置。
其他常用的**kwargs参数如下:
  • colorc:颜色。
  • linestylels:线条样式。
  • linewidthlw:线条宽度。
  • alpha透明度。
  • axvline()函数:
axvline()函数可以在图表内绘制垂直参考线,语法如下:
plt.axvline(x=0,ymin=0,ymax=1,**kwargs)
其中:
x:可选参数,因为是绘制垂直线,所以这是x轴值默认值为0
ymin:可选参数,默认是0,因为是绘制垂直线,此数值是相对位置,所以此值必须在0~1之间,0代表最下方位置,1代表最上方位置。
ymax:可选参数,默认是1,因为是绘制垂直线,此数值是相对位置,所以此值必须在0~1之间,0代表最下方位置,1代表最上方位置。
其他常用的**kwargs参数与axhline()函数一致。
  • 实例:

使用axhline()axvline()函数绘制两条不同样式的水平参考线以及一条垂直参考线,代码如下所示:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

# 绘制第一条水平参考线
plt.axhline(y=0.5 ,  
            xmin=0.1 ,  
            xmax=0.9 ,  
            c='r' ,  # 线条颜色
            ls=':' ,  # 线条样式
            lw=4 ,  # 线条宽度
            alpha=0.5# 透明度
            label='axhline1'# label标签
           )
# 绘制第二条水平参考线
plt.axhline(y=-0.5 ,  
            xmin=0.1 ,  
            xmax=0.9 ,  
            c='c' ,  # 线条颜色
            ls='-' ,  # 线条样式
            lw=2 ,  # 线条宽度
            alpha=0.5# 透明度
            label='axhline2'# label标签
           )

# 绘制垂直参考线
plt.axvline(x=0.5 ,  
            ymin=0 ,  
            ymax=1 ,  
            c='y' ,  # 线条颜色
            ls='-.' ,  # 线条样式
            lw=2 ,  # 线条宽度
            alpha=0.5# 透明度
            label='axvline' # label标签
           )

plt.legend()
plt.show()

可视化效果如下图所示:

02
hlines()、vlines()函数

  • hlines()函数:
hlines()函数可以在图表内绘制一条或多条水平参考线,语法如下:
plt.hlines(yxminxmax,**kwargs)
其中,
y:必选参数,因为是绘制水平线,所以是y轴值,参数值可以是float或者array-like
xminxmax每条线各自开始和结束的位置,参数值可以是float或者array-like如果提供标量,所有的线将具有相同的长度

其他常用的**kwargs参数与axhline()函数一致。

  • vlines()函数:
vlines()可以在图表内绘制一条或多条垂直参考线,语法如下:
plt.vlines(xyminymax,**kwargs)
其中:
x必选参数,因为是绘制垂直线,所以是x轴值,参数值可以是float或者array-like
yminymax每条线各自开始和结束的位置,参数值可以是float或者array-like如果提供标量,所有的线将具有相同的长度
其他常用的**kwargs数与axhline()函数一致。
  • 实例:

传递单一实数时,绘制的是单条线:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

plt.hlines(y=0.5 , # y轴值
           xmin=0# 线的起始位置
           xmax=5# 线的结束位置
           color='r' ,  # 线条颜色
           ls=':' ,  # 线条样式
           lw=2 ,  # 线条宽度
           alpha=0.5# 透明度
           label='hlines' # label标签
           )

plt.vlines(x=3 ,, # x轴值
           ymin=-0.75# 线的起始位置
           ymax=0.75# 线的结束位置
           color='y' ,  # 线条颜色
           ls='-.' ,  # 线条样式
           lw=2 ,  # 线条宽度
           alpha=0.5# 透明度
           label='vlines' # label标签
           )

plt.legend()
plt.show()

可视化效果如下图所示:

传递数组或列表时,可以绘制多条线:

x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

# xmin、xmax为列表,用于定义每条水平线的长度
plt.hlines(y=[-0.5,0.5] , # y轴值,列表形式
           xmin=[0,1], # 线的起始位置,列表形式
           xmax=[5,6], # 线的结束位置,列表形式
           color='r' ,  # 线条颜色
           ls=':' ,  # 线条样式
           lw=2 ,  # 线条宽度
           alpha=0.5# 透明度
           label='hlines' # label标签
           )

# ymin、ymax为标量,因此每条垂直线的长度均一致
plt.vlines(x=np.arange(1,5), # x轴值,数组形式
           ymin=-0.75# 线的起始位置,标量值
           ymax=0.75# 线的结束位置,标量值
           color='y' ,  # 线条颜色
           ls='-.' ,  # 线条样式
           lw=2 ,  # 线条宽度
           alpha=0.5# 透明度
           label='vlines' # label标签
           )

plt.legend()
plt.show()

可视化效果如下图所示:

03
axline()函数

axline()函数可以在图表内绘制无限长的线条,其语法如下:
plt.axline(xy1,xy2=None,slope=None,**kwargs)
上述参数意义如下:
xy1,xy2xy1是线条的一个点,xy2是线条的另一个点。如果省略xy2,则须使用slope参数。
slope:斜率。
其他常用的**kwargs参数axhline()函数一致。
x = np.linspace(0 , 2*np.pi , 200)
y = np.sin(x)

plt.plot(x,y)

# 通过两点绘制参考线
plt.axline(xy1=(0,-1) ,  # 端点1
           xy2=(5,0) ,  # 端点2
           c='c' ,  # 线条颜色
           ls=':' ,  # 线条样式
           lw=4 ,  # 线条宽度
           alpha=0.7# 透明度
           label='两点' # label标签
           )

# 通过点+斜率绘制参考线
plt.axline(xy1=(2,-0.5) ,  # 端点1
           slope=0.5 ,  # 斜率
           c='r' ,  # 线条颜色
           ls='--' ,  # 线条样式
           lw=2 ,  # 线条宽度
           alpha=0.5# 透明度
           label='点+斜率' # label标签
           )

plt.legend(loc='upper right')
plt.show()
可视化效果如下图所示:


更多内容可以前往官网查看

https://matplotlib.org/stable/


本篇文章来源于微信公众号: 码农设计师

RELATED ARTICLES

欢迎留下您的宝贵建议

Please enter your comment!
Please enter your name here

- Advertisment -

Most Popular

Recent Comments