本系列文章配套代码获取有以下两种途径:
-
通过百度网盘获取:
链接:https://pan.baidu.com/s/1jG-rGG4QMuZu0t0kEEl7SA?pwd=mnsj
提取码:mnsj
-
前往GitHub获取:
https://github.com/returu/Data_Visualization
-
axhline()、axvline()函数:分别绘制平行于x轴、y轴的参考线; -
hlines()、vlines()函数:分别绘制平行于x轴、y轴的一条或多条参考线; -
axline()函数:绘制指定两点间或斜率的参考线。
-
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代表最右位置。
-
color或c:颜色。 -
linestyle或ls:线条样式。 -
linewidth或lw:线条宽度。 -
alpha:透明度。
-
axvline()函数:
plt.axvline(x=0,ymin=0,ymax=1,**kwargs)
-
实例:
使用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()
可视化效果如下图所示:
-
hlines()函数:
plt.hlines(y, xmin, xmax,**kwargs)
其他常用的**kwargs参数与axhline()函数一致。
-
vlines()函数:
plt.vlines(x, ymin, ymax,**kwargs)
-
实例:
当传递单一实数时,绘制的是单条线:
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()
可视化效果如下图所示:
plt.axline(xy1,xy2=None,slope=None,**kwargs)
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/
本篇文章来源于微信公众号: 码农设计师