Bases: sage.plot.primitive.GraphicPrimitive
Base class for Text graphics primitive.
TESTS:
We test creating some text:
sage: text("I like Fibonacci",(3,5))
Returns a dictionary with the bounding box data. Notice that, for text, the box is just the location itself.
EXAMPLES:
sage: T = text("Where am I?",(1,1))
sage: t=T[0]
sage: t.get_minmax_data()['ymin']
1.0
sage: t.get_minmax_data()['ymax']
1.0
Plots 2D text in 3D.
EXAMPLES:
sage: T = text("ABC",(1,1))
sage: t = T[0]
sage: s=t.plot3d()
sage: s.jmol_repr(s.testing_render_params())[0][2]
'label "ABC"'
sage: s._trans
(1.0, 1.0, 0)
Returns a 2D text graphics object at the point .
Type text.options for a dictionary of options for 2D text.
2D OPTIONS:
EXAMPLES:
sage: text("Sage is really neat!!",(2,12))
The same text in larger font and colored red:
sage: text("Sage is really neat!!",(2,12),fontsize=20,rgbcolor=(1,0,0))
Same text but guaranteed to be in the lower left no matter what:
sage: text("Sage is really neat!!",(0,0), axis_coords=True, horizontal_alignment='left')
Same text rotated around the left, bottom corner of the text:
sage: text("Sage is really neat!!",(0,0), rotation=45.0, horizontal_alignment='left', vertical_alignment='bottom')
Same text oriented vertically:
sage: text("Sage is really neat!!",(0,0), rotation="vertical")
You can also align text differently:
sage: t1 = text("Hello",(1,1), vertical_alignment="top")
sage: t2 = text("World", (1,0.5), horizontal_alignment="left")
sage: t1 + t2 # render the sum
You can save text as part of PDF output:
sage: text("sage", (0,0), rgbcolor=(0,0,0)).save(SAGE_TMP + 'a.pdf')
Text must be 2D (use the text3d command for 3D text):
sage: t = text("hi",(1,2,3))
...
ValueError: use text3d instead for text in 3d
sage: t = text3d("hi",(1,2,3))
Extra options will get passed on to show(), as long as they are valid:
sage: text("MATH IS AWESOME", (0, 0), fontsize=40, axes=False)
sage: text("MATH IS AWESOME", (0, 0), fontsize=40).show(axes=False) # These are equivalent