Plot
Description - This class represents a 2-D display of information in the graph. Functionally it is composed of many helper classes, but those aren't significant to the user so we discuss the entity as a whole here. While currently there is only one plot type at this level, allows data to be displayed in many ways inside of it. As with the other elements of the graph, when the menu option is selected, a new rectangle appears in the graph, now with the label "Plot". If a data source was selected at the time, the plot is automatically connected to that source.
The properties for the plot are the most complex of any of the elements. The initial panel simply shows a tree with only a root and buttons for adding a plot or adding text. Clicking those buttons adds things to the tree. By clicking on them in the tree you can set their properties. The text properties are fairly straightforward. It is the properties of the plot area that are complex. The properties panel for the plot area is tabbed with 5 subpanels: Geometry, Layout, Primary Axis, Secondary Axis, and Data. We'll look at each of these individually.
The Geometry panel is fairly simple. In it you get to specify the location and size of this plot component in the full plot area. All values are specified as percentages with 0,0 being the top left and 100,100 being the bottom right. Percentage values like this are also used for any text added to the plot.
The second panel is the Layout panel. The plot area is actually broken into a regular grid of plots. These plots will share various axes and you can specify different data sets or different ways of plotting data in each grid area. Each plot has one primary axis and one or more secondary axes. The top portion of the layout properties panel allows you to specify whether the primary axis is on the horizontal or vertical axis as well as how many separate plots should be in the grid in the primary and secondary directions. Below these selections is a drawing of the grid. Clicking on the grid will select a cell. The specific cell is colored with a dark gray, while the rest of the row and column are highlighted with a light gray. This is because all cells along the direction of the primary axis share the same secondary axis information and all things along the direction of the secondary axis share the same primary axis information. You can also click and drag to select multiple cells. When multiple cells are selected, only the information from the top left one is displayed in the lower are of the panel, but setting values changes it for all of them.
Below the grid is the information for what primary axis, secondary axes, and data sets/plots are going to be used for the given cell/row/column. You can edit these selections. As you are only allowed one primary axis, you have the ability to select there from a drop-down box. The secondary axes and data sets show lists that the user can select from. When a plot area is created, there is one primary axis, one secondary, and one data display. More of these can be created with the other three panels as described below. Here we will assume that the user has created several of each. So for a given row/column, the user selects a primary axis to use. That axis has it's own properties for scale, labeling, etc. The user can then add and remove secondary axes that will all be plotted again that primary axis in that cell and possibly against others in other cells. When a secondary axis is selected, the data and style that it will be plotted against is shown in the bottom list in the panel. This list allows the user to select multiple options using the Shift and Ctrl keys.
An example of how to use this would be if you wanted to view both the eccentricity and inclination evolution of a particle and you wanted to put them in the same plot for comparison purposes. The primary axis would be time and you could put two secondary axes on that one primary for the eccentricity and inclination. For the eccentricity axis you would select the data for eccentricity and do similarly for the inclination. If you wanted to do this but have multiple "zoomed in" regions where interesting things were happening, you might choose to have several primary axes and for each cell select a different one so it can have a different range. It should be noted that if you don't like the way that cells are laid out in a plot area, it is possible to add multiple plot areas to a single plot.
The two axis panels serve very similar functions. With them you can create and remove axes and edit the properties on those axes. The options include labels, range setting, and setting how frequently ticks and value labels should be shown. You can also choose to put the labels on the minimum or maximum side of a plot as well as alter the font and color that it is drawn with.
The last tab is labeled Data Sets though it actually allows the user to select not only the data, but also the way in which the data is displayed. Like the Primary and Secondary Axis panels, there is a list at the top you can use to select from multiple data representations and you can create new ones or delete existing ones. When you create one, you are given a list of options for what type to create. When you select one, the options you see depend on the type of the representation that is selected. By default a plot starts with data being represented in a Scatter Plot. Currently there are 6 data representation options. Each one, and its options, are discussed separately.
Input - The Plot element can take multiple inputs. In general, the data that is plotted is specified with a data formula so the user can specify there which input to take the data from.
Memory - By this point you should only have the data that you really want to plot coming in. If memory is a problem, drawing time will be a much bigger one.