Ask Your Question

# how to correctly plot 1/(x-3)

I have to plot 1/(x-3). clearly the function is not defined at x=3. Whenever I try to plot it there is a huge vertical line at x=3, which should not be there. Help me out.

The code I write sage: f(x)=1/(x-3) sage: p=plot(f(x),(x,-10,10) sage: p.show()

Thanks Amit

edit retag close merge delete

## 4 Answers

Sort by » oldest newest most voted

Thanks Jason,tririver and Niles for the help.

especially Jason... Your method is with the least code and effective. Thanks

more

## Comments

You're welcome :) If you want, you can click the check mark to "accept" Jason's answer.

You can also use the detect_poles option to not draw the vertical line

plot(1/(x-3),(x,0,5), detect_poles=True,ymin=-2,ymax=2)


Or even better, have it automatically draw the asymptote:

plot(1/(x-3),(x,0,5), detect_poles='show',ymin=-2,ymax=2)

more

Use a plot range in show

p.show(ymin=-2, ymax=2)

more

In Sage you can add separate plots to draw them on the same image; try this:

sage: f(x)=1/(x-3)
sage: p=plot(f(x),(x,-10,2.9), aspect_ratio=1)
sage: q=plot(f(x),(x,3.1,10), aspect_ratio=1)
sage: (p+q).show()


or, if you want to be a little fancy, add the asymptote:

sage: L = line2d([(3,10),(3,-10)], linestyle="dashed", color="red")
sage: (p+q+L).show()

more

## Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

## Stats

Asked: 2011-12-16 05:12:52 +0200

Seen: 500 times

Last updated: Dec 17 '11