如何绘制渐近线?

bax*_*axx 5 python matplotlib

我跟着一个小教程,让我靠近我想要的地方,但它不是那里,我不知道如何用它做下一步.
这是'我目前的数字:

原版的

我不知道如何将渐近线绘制到此图中.

我想我需要创建一个名为Y垂直线的变量,然后绘制出那条线?我不确定这是否正确

在这种情况下,我如何为渐近线创建线?

编辑

这是我的代码:

import pylab as pl
import numpy as np
import matplotlib.pyplot as plt

"""
This is all from the tutorial located at :
http://scipy-lectures.github.io/intro/matplotlib/matplotlib.html
"""

pl.figure(figsize=(10, 6), dpi=80)
pl.subplot(1, 1, 1)
X = np.linspace(-5, 5, 500, endpoint=True)
C = (1/X**2)-5
P = X - X - 0.1

pl.xlim(X.min() * 1.1, X.max() * 1.1)
pl.ylim(C.min() * 1.1, C.max() * 1.1)

"""
Alters the position of the axis - moves them to the centre
"""
ax = pl.gca()  # gca stands for 'get current axis'
ax.spines['right'].set_color('none')
ax.spines['top'].set_color('none')
ax.xaxis.set_ticks_position('bottom')
ax.spines['bottom'].set_position(('data',0))
ax.yaxis.set_ticks_position('left')
ax.spines['left'].set_position(('data',0))

pl.plot(X, C, color="blue",  linewidth=4, linestyle="-", 
              label="y = 4 - 1/x^2")

pl.legend(loc='upper left')


for label in ax.get_xticklabels() + ax.get_yticklabels():
    label.set_fontsize(16)
    label.set_bbox(dict(facecolor='white', edgecolor='None', alpha=0.65))

plt.ylim((-7,20))

plt.show()
Run Code Online (Sandbox Code Playgroud)

Mol*_*lly 4

您可以使用vlines添加垂直线。

对于您的示例,您可以在 x = 3 处添加一条垂直线,如下所示:

ylim = ax.get_ylim()
plt.vlines(3, ylim[0], ylim[1])
Run Code Online (Sandbox Code Playgroud)

这需要插入之前plt.show()。类似地,hlines将添加水平线。

  • 在这种情况下,“axvline”和“axhline”会更合适。否则,您需要指定垂直线的 y 限制或水平线的 x 限制。`axvline` 在数据坐标中给定的 x 位置放置一条横跨整个轴(无论数据单位)的垂直线。 (3认同)