A plot class is basically defined by the list of plot variables displayed in the x,y, and z axis selections of the plot selection widget. The plot selection widget is recycled upon selecting a different plot class. Any plot variable can be put on more than one selection list associated with a plot classes. Variables are selected for a plot class because of a specific purpose of these plots. Therefore, the definition of a plot class requires the following information to be coded. In ww_plot, the appropriate checkdata call and plot widget title need to be specified. Furthermore, in the same widget procedure, the name of the new plot class needs to be added to each selection button if required. Then, in ww_plotok, an entry must be made for the new class for the plotting procedure associated with the new class. Note that so far all plots in OYSTER are handled by just three different procedures, plotdata, plotncal, and plotuv. This is to have similar kinds of plots handled by the same procedure in order to make the plotting code shorter. However, some kinds of plots are sufficiently different in their logic so as to require a different plotting procdure to be written. Finally, as far as the plot widgets are concerned, the new class needs to be added for each necessary index selection in ww_indexsel.
Whereas the widget routines for plotting in OYSTER are found in plotwidget.pro, the plot procedures and initialization functions are found in plot.pro. Here we have to add an entry of the new class in init_class for the definition of the auxilliary information which is displayed if the user selects the ``Identify'' button. Then, which plot variables are to be listed in the plot selection widget is defined in set_axitems. Finally, the information of how multiple plots should be arranged in a plot for each plot class is specified in the plot procedure associated with the new plot class.