The Perple_X PLOT option file

 

 


Introduction

 

Perple_X PostScript plotting programs (e.g., PSSECT, PSVDRAW, PSPTS, PSCONTOR) look for a file named "perplex_plot_option.dat" containing keywords that control output options. If no plot option file is found, then Perple_X uses default settings. The plot option file is distinct from the computational option file, usually named perplex_option.dat, that is also read by PSSECT. This page documents the options.

 

The entries in the plot option file take the general form

keyword value1 value2 ....

where the keyword identifies an option and the associated values characterize the option. Comments may be placed anywhere in the file provided they are preceded by a "|" character.

 

Perple_X 6.5+, PerplexPDF: The 6.5.0 version of Perple_X includes 2 versions of the Perple_X plotting programs, the "standard" version and a special version, created by Dave Hirsch, referred to here as the PerplexPDF version; the PerplexPDF programs are distinguished by names with the suffix "_new" (e.g., pssect_new, psvdraw_new, pscontor_new, etc). Unless otherwise noted, the keywords listed below apply to both versions. The primary advantage of PerplexPDF is that it generates generic PostScript that can be read by any modern PostScript interpreter; in contrast the PostScript generated by the standard version cannot be read by some PostScript interpreters. An additional advantage of PerplexPDF is that it also generates PDF and SVG output (see plot_output_type). For technical reasons (i.e., PerplexPDF involves an external library), both the standard and PerplexPDF versions will persist in Perple_X.


Plot Option Keywords

axis_label_scale

bounding_box

field_fill

field_label

field_label_scale

font

grid

half_ticks

line_width

new_font

picture_transformation

plot_extra_data

plot_aspect_ratio

plot_output_type

replicate_label

splines

tenth_ticks

text_scale


axis_label_scale

 

axis_label_scale specifies the scale of axis labels and numbers relative to the default text_scale. axis_label_scale takes real values > 0, e.g., a value of 2.0 generates axes labels that are twice the default text size. The default value for axis_label_scale is 1.2, the value cannot be longer than 12 characters.


bounding_box

 

bounding_box specifies the EPS (Encapsulated PostScript) BoundingBox in points (72 points = 1 inch), some drafting programs or printers may clip any portions of an image that lie outside of the EPS BoundingBox. bounding_box takes four integer values, these are, respectively: x0 - the horizontal position of the EPS BoundingBox origin relative to the left edge of the page; y0 - the vertical position of the EPS BoundingBox origin relative to the lower edge of the page; x1 - the horizontal length of the EPS BoundingBox; y1 - the vertical length of the EPS BoundingBox. The default values for bounding_box are: 0, 0, 800, 800. An A4 page corresponds to a bounding_box of 0, 0, 595, 842; while a US letter page is 0, 0, 612, 792.

 

PerplexPDF: x0 and y0 have no significance, x1 and y1 indicate the output page size in points.

 

The 4 values for bounding_box cannot occupy more than 40 consecutive columns and must be on the same line as the bounding_box keyword.


field_fill

 

field_fill determines whether variance-based fills are used in diagrams computed by  gridded minimization. field_fill may be either T (true) or F (false), the default is T. This option effects only PSSECT.

 

variance-based fills for mixed-variable and composition diagrams computed by unconstrained optimization and plotted with PSVDRAW are controlled by modifying the default plot options interactively.


field_label

 

field_label determines whether phase fields computed by computed by gridded minimization are labeled by PSSECT. field_label may be either T (true) or F (false), the default is T. See also replicate_label.

 

Phase field labeling for mixed-variable, Schreinemakers and composition diagrams computed by unconstrained optimization and plotted with PSVDRAW are controlled by modifying the default plot options interactively.


field_label_scale

 

field_label_scale specifies the scale of field labels relative to the default text_scale. field_label_scale takes real values > 0, e.g., a value of 2.0 generates axes labels that are twice the default text size. The default value for field_label_scale is 0.72, the value cannot be longer than 12 characters.


font

 

font specifies the name of the font to be used by a plotting device (i.e., a drafting program or printer). This name must be recognized by the plotting device. Some devices (e.g., CorelDraw) substitute a default font for unrecognized names, whereas others (e.g., Adobe on Mac OSX) do not show/print text in unrecognized fonts. The default value of font is Helvetica, the font name must be < 41 characters long.

 

PerplexPDF: font has no significance, see new_font.

 

NOTE: the font names recognized by commercial drafting programs generally do not correspond to the font names indicated in the program menu. The easiest way to discover a recognized font name is to: create a PostScript file of text with the desired font; and then edit this file with a text-editor (e.g., Wordpad) to discover the font name (usually specified before the text).

 

NOTE FOR MAC USERS: As a consequence of Adobe's recent move away from Type 1 PS fonts, Helvetica is no longer recognized by Adobe products. It may be possible to use the method described in the previous note to identify a valid font, but if not, then assigning MyriadPro-Regular and repeating steps 4 and 5 of John Schumacher's work-around solution creates a PDF file that can be edited in Adobe Illustrator.


grid

 

grid determines whether a regular grid is superimposed over the plot. grid may be either T (true) or F (false), the default is F.


half_ticks

 

half_ticks determines whether tick marks drawn halfway between the major interval ticks. half_ticks may be either T (true) or F (false), the default is T.


line_width

 

line_width specifies the default line width in points.  line_width takes real values >= 0, its default value is 1, specify a value of 0 for minimum width lines.


new_font

 

new_font specifies the type or name of the font to be used by a plotting device (i.e., a drafting program or printer). This keyword is only used by the PerplexPDF programs. Universally valid choices are serif, sans, and monospace. Specific font names (e.g., Times) are allowed on some operating systems and/or with certain output formats (plot_output_type).


picture_transformation

 

picture_transformation specifies the picture transformation. picture_transformation takes five real values, these are, respectively: dxs - a horizontal relative scaling; dys - a vertical relative scaling; dxt - a horizontal translation in points; dyt - a vertical translation in points; dr - a rotation in degrees.

 

The default values for picture_transformation are: 0.18, 0.18, 160., 220., 0.

 

The 5 values for picture_transformation cannot occupy more than 40 consecutive columns and must be on the same line as the picture_transformation keyword.


plot_extra_data

 

plot_extra_data determines whether extra data (such as phase equilibrium brackets, lines, points, etc) are superimposed on a plot. The plot_extra_data option and routines were added to Perple_X by George Helffrich (ELSI, 9/23/2021). plot_extra_data may be either T (true) or F (false), the default is F. If plot_extra_data is true, the user is prompted for a file containing the data to be plotted. A summary of the format follows. 

 

Lines starting with * are comments, and text on any line after # or | is ignored.

 

Three types of objects may be drawn: 

 

Type 1 - lines

Type 2 - points

Type 3 - error bars

 

In the following

xi, yi 

represent the X and Y coordinates.

 

Type 1 (line) format:

  

> L                            # header indicating a list of coordinates follows;  

x1 y1 

x2 y2 

 ...

xn yn  

                             # end list with >, or a new list, i.e., > L

 

Type 2 (point) format:

 

xp yp symb size fill           # see below for symb, size, fill values.

 

Type 3 (error bar) format:

 

xp yp ex ey symb size fill     # see below for symb, size, fill values.

 

where ex and ey - are the horizontal & vertical half-widths of error bar.

 

For types 2 & 3:

 

symb = symbol code (see symbol shape code list below).

size = size of symbol, real number (1 is normal).

fill = fill code (0 = none, 1-7 gray scale (lightest->darkest), 8-15 patterns.  

 

Symbol shape codes:

 

1: circle

2: triangle - point up

3: plus

4: times

5: diamond

6: triangle - point down

7: square and times superimposed

8: plus and times superimposed

9: diamond and plus superimposed

10: circle and plus superimposed

11: superimposed triangles

12: square and plus superimposed

13: circle and times superimposed

14: square and point-up triangle superimposed

15: filled square

16: filled circle

17: filled point-up triangle

18: filled diamond

19: filled circle

20: small circle

21: circles

22: squares

23: diamonds

24: triangle - point up

25: triangle - point down


plot_aspect_ratio

 

plot_aspect_ratio specifies the ratio of the horizontal and vertical axes lengths. plot_aspect_ratio takes real values > 0, its default value is 1.

 


plot_output_type

 

plot_output_type specifies the format of the graphical output from the PerplexPDF programs. The choices are PS (PostScript), PDF (Portable Document Format) and SVG (Scalable Vector Graphics).


replicate_label

 

The replicate_label controls how far apart replicate phase fields in a phase diagram section must be before they are labeled by PSSECT. The keyword value specifies the minimum distance as a fraction of the axes length, the distance between two fields is taken to be the distance between the field barycenters. If two or more fields are closer than the minimum distance only one field is labeled.

 

replicate_label may take values between 0 and 1, the default is 0.025. If replicate_label = 0, then all replicates are labeled; if replicate_label = 1, then no replicates are labeled.

 

This keyword is only relevant for PSSECT.


splines

 

splines determines whether data curves are smoothed with B-Splines. splines may be either T (true) or F (false), the default is T.


tenth_ticks

 

tenth_ticks determines whether tick marks drawn at one-tenth intervals between the major interval ticks. tenth_ticks may be either T (true) or F (false), the default is F.


text_scale

 

text_scale specifies the default relative scaling for text. text_scale takes real values > 0, e.g., a value of 2.0 doubles all text sizes. The default value for text_scale is 1, the value cannot be longer than 12 characters.