在给定的y范围内使用matplotlib绘制垂直线。
问题的出现原因是axvline函数的参数ymin和ymax表示的是y轴范围的分数,取值范围为0到1。解决方法是将ymin和ymax设置为合适的分数,例如0.5到0.9,或者根据需要计算适当的分数。以下是一个示例代码,用于在给定的y范围内绘制垂直线:
import matplotlib.pyplot as plt fig, ax = plt.subplots(figsize=(20, 10)) ax.set_ylim(bottom=0, top=10) for i in range(4): ax.axvline(x=i, ymin=.5, ymax=.9, color="red", linewidth=40)
输出结果如下图所示:

问题出现的原因是需要在给定的y范围内绘制垂直线,而目前的代码没有实现这个功能。解决方法是使用matplotlib.pyplot.vlines函数来实现,如下所示:
for i in range(4): ax.vlines(x=i, ymin=5, ymax=9, color="red", linewidth=40)
这段代码将在给定的y范围(ymin=5, ymax=9)内绘制垂直线,颜色为红色,线宽为40。通过循环遍历的方式,可以绘制多个垂直线。
这种方法能够很好地解决问题,可以得到如下图所示的结果:

感谢你的指正,已经更新了答案。