在作图的时候,经常会碰到需要添加分界线的情况,那么python里面那些函数可以方便的画出水平横线或者垂直竖线呢,下面介绍两种可以方便的添加水平或者垂直直线的函数。

1.使用matplotlib.pyplot的hlines和vhlines

######导入需要模块

import numpy as np

import matplotlib.pyplot as plt

######这是蝴蝶曲线部分

df = sns.load_dataset('iris')

t = np.arange(0.0, 12*np.pi, 0.01)

x = np.sin(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)

y = np.cos(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)

plt.figure(figsize=(8,6))

plt.plot(x,y,color='blue',linewidth = '3')

#######这是分割线部分

plt.hlines(0, -3, 3,color="red")#横线

plt.vlines(0, -2, 3,color="red")#竖线

hvplot.webp

matplotlib.pyplot.hlines(y, xmin, xmax)表示横线,参数(y的值,横线开始横坐标,横线结束横坐标)

matplotlib.pyplot.vlines(y, xmin, xmax)表示竖线,参数(x的值,竖线开始纵坐标,竖线结束纵坐标)

2.使用matplotlib.pyplot的axhlines和axvhlines

######导入模块

import numpy as np

import matplotlib.pyplot as plt

######这是蝴蝶曲线部分

df = sns.load_dataset('iris')

t = np.arange(0.0, 12*np.pi, 0.01)

x = np.sin(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)

y = np.cos(t)*(np.e**np.cos(t) - 2*np.cos(4*t)-np.sin(t/12)**5)

plt.figure(figsize=(8,6))

plt.plot(x,y,color='blue',linewidth = '3')

#######这是分割线部分

plt.axhlines(0, -3, 3,color="red")#横线

plt.axvlines(0, -2, 3,color="red")#竖线

axvline.webp

matplotlib.pyplot.axhlines(y, xmin, xmax)表示横线,参数(y的值,横线开始横坐标,横线结束横坐标)

matplotlib.pyplot.axvlines(y, xmin, xmax)表示竖线,参数(x的值,竖线开始纵坐标,竖线结束纵坐标)

总结

matplotlib.pyplot.hlines和matplotlib.pyplot.axhlines都能够画出横线,但是从图中我们可以看到它们是有区别的,hline直线没有接触到坐标轴,axhline接触到了坐标轴。

同理vlines和axvlines同样是垂直线,一个不会接触坐标轴,一个接触坐标轴。

请根据需要选用不同的matplotlib.pyplot函数。

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐