matplotlib之pyplot模块——绘制一条以子图高度/宽度比例为单位的垂直/水平线(axvline/axhline)

概述

axvline函数作用是绘制一条以子图高度比例为长度单位的垂直线。
axhline函数作用与axvline函数类似,绘制一条以子图宽度比例为长度单位的水平线。

axvline函数的签名为:
matplotlib.pyplot.axvline(x=0, ymin=0, ymax=1, **kwargs)
其中:

  • x:垂直线在x轴上的位置。浮点数,默认值为0
  • ymin:垂直线在y轴方向上的起始值。浮点数,默认值为0。取值范围为[0,1]0表示子图底部,1表示子图顶部。值可以超出[0,1],但是超出部分不会正常显示。
  • ymax:垂直线在y轴方向上的终止值。浮点数,默认值为1。取值范围为[0,1]0表示子图底部,1表示子图顶部。
  • **kwargs:除'transform'之外的Line2D属性。

axvline函数的返回值为Line2D对象。

axhline函数的签名与axvline函数类似:
matplotlib.pyplot.axhline(y=0, xmin=0, xmax=1, **kwargs)

案例:演示axvline函数

在这里插入图片描述

import matplotlib.pyplot as plt

# 演示默认参数
plt.subplot(221)
plt.axvline()
plt.xlim(-1, 1)
plt.subplot(222)
# 演示参数x
plt.axvline(0.5)
plt.subplot(223)
# 演示参数x,ymin,ymax
plt.axvline(0.5, 0.2, 0.7)
plt.subplot(224)
# 演示**kwargs参数
plt.axvline(0.5, 0.2, 0.7, linewidth=2, color="r")
plt.show()

axvline/axhlinevlines/hlines的区别

  1. axvline/axhline绘制一条线,返回值为Line2D对象。vlines/hlines绘制一组线返回值为LineCollection对象,相当于Line2D对象的集合。
  2. axvline/axhline绘制的直线默认是跨越整个子图的,即便更改线的长度,单位是子图高度/宽度的比例([0,1]),是相对值。vlines/hlines绘制的直线需要指定长度,长度单位是对应坐标轴的单位,是绝对值。
### 回答1: 可以使用以下代码绘制线条宽度为2,以点画线的形: ```python import matplotlib.pyplot as plt x = [1, 2, 3, 4] y = [1, 4, 2, 3] plt.plot(x, y, linestyle='dotted', linewidth=2) plt.show() ``` 其中,linestyle参数设置为'dotted'即可绘制点画线。linewidth参数设置为2即可绘制线条宽度为2的形。 ### 回答2: 使用matplotlib.pyplot绘制线条宽度为2的点画线的代码如下: ```python import matplotlib.pyplot as plt # 创建x轴数据 x = [1, 2, 3, 4, 5] # 创建y轴数据 y = [3, 6, 9, 12, 15] # 创建画布和 fig, ax = plt.subplots() # 设置线条宽度为2 ax.plot(x, y, 'o-', linewidth=2) # 显示形 plt.show() ``` 首先导入`matplotlib.pyplot`库,然后创建x轴和y轴数据。接着创建一个画布和对象。在绘制线条时,使用`plot`函数,并传入参数`'o-'`表示使用点画线的格式,`linewidth=2`表示线条宽度为2。最后调用`show`函数显示形。 以上代码将生成一条线条宽度为2的点画线,其中点的样式为实心圆点,连接点的线条为直线。 需要注意的是,为了更好地显示形,可以根据需要添加其他函数来设置形的标题、坐标轴标签等。另外,还可以使用`grid`函数添加网格线,提高形的可读性。 ### 回答3: 要在matplotlib绘制线条宽度为2的点画线,可以使用以下代码: ```python import matplotlib.pyplot as plt # 创建一个Figure对象和一个Axes对象 fig, ax = plt.subplots() # 设置线条宽度为2 plt.setp(ax.spines.values(), linewidth=2) # 设置坐标轴线的宽度 plt.setp(ax.xaxis.get_ticklines(), linewidth=2) # 设置x轴刻度线的宽度 plt.setp(ax.yaxis.get_ticklines(), linewidth=2) # 设置y轴刻度线的宽度 # 设置点画线 plt.plot([1, 2, 3, 4], [1, 4, 9, 16], linestyle='dotted', linewidth=2, marker='o') # 添加标签和标题 plt.xlabel("X轴") plt.ylabel("Y轴") plt.title("点画线示例") # 显示形 plt.show() ``` 在上述代码中,首先导入了`matplotlib.pyplot`模块,并创建了一个`Figure`对象和一个`Axes`对象。然后使用`plt.setp()`函数设置线条的宽度为2,包括坐标轴线和刻度线。接下来使用`plt.plot()`函数绘制点画线,设置线的样式为点画线(`linestyle='dotted'`),线宽为2,点的样式为圆圈(`marker='o'`)。最后使用`plt.xlabel()`、`plt.ylabel()`和`plt.title()`函数分别设置x轴、y轴标签和表标题。最后调用`plt.show()`函数显示形。
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值