I was playing with Sage(math) because I wanted to manage (a bit) the presentation of the plots. Here is what I found out! (most of it is in Sage help)
Color of Plots.
For changing the color of the plot, use the option color,
sage: plot(sin, -3, 3, color='red')
and you’ll get
Red Sine Function
Nice! but not enough.
One can draw recurrent plots by using a for command,
sage: for n in range(1,6):
... plot(sin(n*x), (x, -3, 3), color=hue(n/5.0))
but this code gives 5 different plots, if you want only one try this
sage: p = plot( sin, -3, 3, color=hue(1/5.0))
sage: for n in range(2,6):
... p += plot(sin(n*x), (x, -3, 3), color=hue(n/5.0))
...
sage: p
and the result is
Plot of multiple sine functions in colors
Adding Text to Plots.
The command for adding text to plots is text (very intuitive, Isn’t it?), and the parameters are, the actual text you’d like to insert between single quote marks, the coordinates, and any other characteristic… as color.
Additionally, the text environment accepts mathematical LaTeX inputs by using the dollar signs.
sage: p = plot(sin(x/10.0), -10, 10, color=hue(1/6.0))
+ text('$n$=1', (12,1), color=hue(1/6.0))
sage: for n in range(2,6):
... p += plot(sin(n*x/10.0), -10, 10, color=hue(n/6.0))
+ text('$n$=%s'%n, (12,1/n), color=hue(n/6.0))
sage: p
and get,
Adding multi-text to multi-plot
Note that the text may include `running` parameters, in the above example the running parameter is , and is called in the text environment as `%s` and later one explain that the value to insert is via %n.
NOTE 2: The coordinates of the text might be also changing values.
NOTE 3: The fontsize and horizontal_alignment options are available, for example
sage: text('$E$=%s'%Energy, (5.2, 1.2),
horizontal_alignment='right', fontsize=15, color='black')
Nice Example.
Try this!
reset()
def Harm_Osc(n, x):
return sqrt(1/(2^n*factorial(n)))/(pi)^(0.25)*e^(-x^2/2)*hermite(n,x)
p = plot(x^2/2, (x, -3.2, 3.2), color='black')
+ text('$x^2/2$', (3.9, 5), color='black', fontsize=13)
for n in range(5):
p += plot(Harm_Osc(n, x)/2 + n + 0.5, (x, -5, 5), color=hue(n/5.0), fill=n + 0.5)
+ text('$\Psi_%s$' %n, (5.2, n+0.5), color=hue(n/5.0), fontsize=13)
show(p, axes_labels=['$x$','$E$'])
😉
You’ll get this,
Wave functions for the quantum harmonic oscillator
This example got colors, text, running text, running color, axes labeling, LaTeX text, fill plot… very complete!
Read Full Post »