13.1 theme - Defining the default behaviour of PyChart

You can change PyChart's behavior by setting variables in the module theme. After setting values, you must call theme.reinitialize() to reflect the changes to other parts of PyChart. Notice that these variables are meaningful only before the first call to area.T.draw() (see Section 6).

theme.scale_factor = 3
theme.reinitialize()

The below are the list of variables in the theme module that you can modify.

scale_factor
This variable defines the scaling factor. The default value is 1.0, meaning that one point in PyChart actually means one PostScript point. Setting this value to 3.0, for example, makes PyChart draw everything three times larger.

See Also:

See Section 4 for how the length and the coordinate system are defined in PyChart.

output_format
This variable sets the encoding of the data produced by PyChart. The value of this variable must be one of the following strings.

ps:
eps:
Encapsulated PostScript. This is the default.

pdf:
Adobe Page Description Format, or PDF.

pdf-uncompressed:
PDF without compression. This option should be used for a debugging purpose only.

png:
PNG graphics. You need to have ghostscript (gs) installed to use this option, because PyChart internally calls ghostscript to convert PostScript to PNG.

See Also:

http://www.ghostscript.com/
See this web page for more information about Ghostscript.

svg:
Scalable vector graphics.

See Also:

http://www.w3.org/Graphics/SVG/
See this web page for more information about SVG.

x11:
Interactive display on in X window. This format works on UNIX-based systems, but not on Windows. You need to have ghostscript installed to use this option.

When this variable is not set (or is set to None), PyChart guesses the format from the file name (theme.output_file; see below). Failing that, PyChart will generate an encapsulated PostScript file.

output_file
Sets the output file name. Without this option, PyChart sends code to the standard output. If you want to produce multiple charts from a single Python source file, use canvas.init(file) (see Section 21).

use_color
The default value of this variable is False. If the value is True, PyChart colorizes some of the default objects. If the value is False, PyChart uses gray scale for the color of these objects. In particular:

default_font_family
This variable sets the default font family used when drawing texts. The default is Helvetica. See Section 17.1.

default_font_size
This variable sets the font size used when drawing texts. The default is 9 points. See Section 17.1.

default_halign
Sets the default horizontal alignment of texts (Default value: /h). See Section 17.1.

default_valign
Sets the default vertical alignment of texts (Default value: /v). See Section 17.1.

default_angle
Default text-drawing angle (Default value: 0). See Section 17.1.

default_line_height
Defines the separation between two text lines. See Section 17.1.

default_line_width
Set the default line width, in points (see Section 4). (Default value: 0.4) See Section 14.

debug_level
This variable controls the verbosity of messages from PyChart. The default value is 1, meaning that PyChart only displays error messages. The larger the value, the more verbose PyChart becomes.

bounding_box
This variable, if set, manually sets the bounding box of the chart(s) produced by PyChart. It is a four-tuple of numbers, i.e., (xmin, ymin, xmax, ymax). PyChart usually calculates the bounding box of a chart automatically. Thus, you set this variable only when you want to override the calculation by PyChart, or PyChart screws the calculation. The latter situation happens especially when you use really thick lines for drawing. See also delta_bounding_box, described next.

delta_bounding_box
This variable, if set, adjusts the size of the bounding box of the chart(s). It is a four-tuple of numbers (xmin, ymin, xmax, ymax). Each of the number is added to the bounding box computed by PyChart.

If both bounding_box and delta_bounding_box are set, then delta_bounding_box is ignored.

After changing any of the variables described so far, you must call the reinitialize function to reflect the change to the rest of PyChart:

reinitialize( )
This procedure must be called after setting variables in the theme module. This procedure propagates the new values of the theme variables to other modules that depend on their values.



Footnotes

...color.slate_blue"1
In fact, you can use these color names in gray-scale mode as well. They will appear in some gray color though.