Pages and Layers
TisGraph documents consist of an arbitrary number of pages and layers. When a document is printed, the pages are added to the generated PDF according to their order. One can choose the displayed page and the active layer using the navigation bar.
When one creates shapes like graphs on the TisGraph drawing area, they are assigned to the currently active layer — in the above screenshot to the background layer. As any layer can be part of an arbitrary number of pages, shapes can be displayed on multiple pages without any need to draw them again for every page. A usual setup is having a background layer for common shapes like logos, department names, a rectangle around the drawing area, etc., and a foreground layer for the data-oriented shapes like graphs or tables. Of course placing a graph that shows information to be present on all pages (e.g. a diagram showing the storage level) on the background layer is possible either.
Pages and layers can be configured using the corresponding menu items in the Document menu. Document ---> Pages opens the following dialog:
Using the buttons at the right and at the top, one can add new pages, delete existing ones, or reorder them. The order of pages shown here is the same as in the corresponding dropdown in the navigation bar. See ... for more information about the hint "Changes take effect immediately" in the upper right corner, and about copying and pasting whole layers and pages.
The leftmost layer of a page is painted first, the layers displayed more to the right are painted on top of it according to their order. Using the context menu displayed in the screenshot, one can add layers to pages, remove layers from pages, and reorder the layers of a page. Please note, that this dialog just controls the assignment from layers to pages, i.e. the layers are added or removed, but not created or deleted. The latter can be done via the layer dialog, which is reachable via "Document ---> Layers":
Layers can have a page-specific order within a page (which theoretically spoken can differ on different pages), but don´t have any particular order on document level. For this reason, in the layers dialog, layers can be created or deleted, but not reordered.
The list of colors and stroke styles available in a document can be managed via the menu items "Document ---> Colors" and "Document ---> Stroke Styles". As for pages and layers, a dialog with the list of available colors or stroke styles opens. For colors:
In the main dialog, the RGBA color values can be managed. The colors are displayed in the same order as in the dropdowns for color selection. Additionally, one can define a color using a color-picker:
Using the menu item "Document ---> Stroke Styles", one can open the following dialog for adding, deleting and editing stroke styles:
The dialog shows (in exactly the same order) all stroke styles that are offered by the various dropdowns for choosing a stroke style. In particular, in column
- Color one can choose one of the colors defined in the colors dialog described above
- Thickness one can specify the thickness in millimeters
- Dash Style and Length one can choose one of some predefined dash styles, and define the length of the dashes. For continuous lines, the dash length hasn´t any effect.
- Cap Style one can choose one of the following three styles for line ends (rectangular at the line end, round beyond the line end, or rectangular beyond the line end):
- Join Style one can choose one of the styles for connecting lines shown in the following screenshot (truncated, round, or pointed till the miter limit):
- Miter Limit one can define the maximum degree of taper ratio used for the last of the three styles in the previous screenshot
The three settings described last are useful for thicker lines, as for thin lines, their effect is hardly visible.
An important concept of TisGraph are the so-called observation ranges. Using them, configuring a time or value range exactly once is sufficient for having an arbitrary number of graphs or tables showing data for that range. For example, one might set the time range to "1st January 2011 to 1st January 2012" in the navigation bar, and as a result, all graphs bound to that range show data for the year 2011 (to be exact (beyond the scope of this chapter), graph axes and datasets are bound to observation ranges on their own, see ...).
TisGraph data sources can deliver either so-called utc-timestamps for the abscissa, or raw numeric values. The common case is the former one: The data source delivers a value like 1413467917. This digit sequence, (which is completely incomprehensible out of user perspective) is a technical translation for a timestamp like 16th October 2014 13:58:37. A time range like 1st January 2011 to 1st January 2012 always refers to timestamps aquired that way. Since a value like 1413467917 as described above implicitely refers to time zone GMT, additionally one has to define a time zone in which the timestamp should be interpreted. If one chooses e.g. Europe/Vienna, the above value might be interpreted as 16th October 2014 15:58:37 MEST.
The other case is that the data source delivers values like -5.7 or 13.6 for the abscissa, and those should be interpreted as numeric values by TisGraph. For this case, one needs a value range, which is simply interpreted as absolute bound for the to-be-displayed values.
In most cases, users need to use a time range in the corresponding time zone. Thus, the above explanation should be understood more as background information.
The menu item Document ---> Observation Ranges opens the following dialog for managing time and value ranges:
The widgets in the lower left section of a time range ("Interval" and the buttons right of it) work exactly the same way as their counterparts in the navigation Bar. After a click to "Add Value Range", the list looks as follows:
The difference to changing an existing observation range is that after adding a new one, one has to explicitely use "Commit Changes". Until this is done, also the already existing observation ranges cannot be changed. In the screenshot above, the hint in the upper right corner tells the user that first, the must field "Label" has to be filled with content.