Processing math: 100%

First time here? Check out the FAQ!

Ask Your Question
1

Plotting Overlapping Curves

asked 14 years ago

gt4431b gravatar image

updated 14 years ago

Evgeny gravatar image

Stupid newbie question!

I want to be able to plot two or more functions on a single graph. For example, I wish to plot x2 and 2x, say in red and blue, such that a person can readily see, with their eyes, where the two curves intersect.

Unfortunately, I can't figure out how to make this happen. It seems like it would be a common teaching device but how to make it work?

Any assistance welcomed!

Preview: (hide)

2 Answers

Sort by » oldest newest most voted
4

answered 14 years ago

gt4431b gravatar image

updated 14 years ago

Okay, answering my own question, in case someone else got confused like I did:

p1 = plot(x^2,(x,0,5),rgbcolor=hue(0.4))
p2 = plot(2^x,(x,0,5),rgbcolor=hue(0.6))
show(p1+p2, axes=true)

Here the function of the '+' operator seems to mean "and" rather than "plus".

Preview: (hide)
link
2

answered 14 years ago

kcrisman gravatar image

You shouldn't even need the axes=True part, I think. If you look at

sage: plot?

you'll see that + is the standard way to add plots.

It sounds like you might want to plot things in a certain order of objects on top of each other; here, the zorder option should often work (though there might be some graphics primitives where it doesn't). Like so:

sage: P = plot(sin,0,pi,zorder=50)
sage: Q = plot(cos,0,pi,color='red',zorder=51)
sage: P+Q

Here, red is on top (like in a plot with no zorder)

sage: Q = plot(cos,0,pi,color='red',zorder=40) 
sage: P+Q

Here, blue is on top.

Note that the behavior without zorder set is sometimes a little enigmatic - I don't know whether P+Q and Q+P always plot the second one on top if you don't use zorder above, since for certain objects that doesn't seem to happen; for these plot types, apparently that does happen, though.

Preview: (hide)
link

Comments

How to do this if I receive plots in a list and don't have the "first" plot to use as the left hand side of "+"? sum() doesn't work: complains about wrong types.

Rulatir gravatar imageRulatir ( 2 years ago )

This apparently does work. See this Sage cell doing sum([plot(x^n) for n in range(10)]), which I guess is what you are asking about. If you have an example that doesn't, probably start a new question for that.

kcrisman gravatar imagekcrisman ( 2 years ago )

Your Answer

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

Add Answer

Question Tools

Stats

Asked: 14 years ago

Seen: 2,528 times

Last updated: Oct 27 '10