Plot: Difference between revisions

From SweepMe! Wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(14 intermediate revisions by the same user not shown)
Line 1: Line 1:
Kast updated for: Version 1.5.3.15
Last updated for: Version 1.5.5.44


== Basics ==
== Basics ==


=== Create a new plot ===
=== Create a new plot ===
Goto 'Window' -> 'Plot' -> 'New..'
Goto 'Widgets' -> 'Plot' -> 'New..'
A Plot widget will popup and now you can place it into the Dashboard
A Plot widget will popup and now you can place it into the Dashboard


=== Remove a plot ===
=== Remove a plot ===
Goto 'Window' -> 'Plot' -> 'Plot<nowiki><i></nowiki>' -> 'Remove'
Goto 'Widgets' -> 'Plot' -> 'Plot<nowiki><i></nowiki>' -> 'Remove'
Here, <nowiki><i></nowiki> is the number of the plot.
Here, <nowiki><i></nowiki> is the number of the plot.
Further, you can click the close button at the widget. You will be asked whether you like to hide or to remove the widget.


=== Rename a plot ===
=== Rename a plot ===
Line 26: Line 27:
* 'z' refers to the right y axis
* 'z' refers to the right y axis


The functionality 'Slice/Filter' allows you to reduce the plotted data. The syntax is directly adapted from array slicing via numpy in python.
==== Slice/Filter ====
The functionality 'Slice/Filter' allows you to reduce the plotted data.  
 
Slicing only works for the setpoint variation of the modules. For example if a module [[Loop]] creates a repetition, one can slice through its iterations.
It is not possible to slice data that is 1-dimensional like lists or arrays as they are still related to a measurement point and one can only slice measurement points that are created by combination of variations of the modules.
 
The syntax is directly adapted from array slicing via numpy in python.
* use '-1' to get the last point of a variation
* use '-1' to get the last point of a variation
* use '-100:' to get the 100 points of a variaton
* use '-100:' to get the 100 points of a variaton
Line 33: Line 40:
* use '1::2' to get every second data point but starting from the second value.
* use '1::2' to get every second data point but starting from the second value.


If you make multi-dimensional parameter variations, you can tell SweepMe! where to split the lines by using the CheckBoxes underneath 'New line per value'. Select the module that performs the parameter variation for which you would like to split the plotted lines. Imaging you measure temperature dependent current-voltage characteristics. Typically, you would like to have each current-voltage characteristic as one line in the plot for each measured temperature. Hence, you have to check 'New line per value' for your Temperature module.
Filtering applies to meausured values. Here are some examples:
* > 100 ( get all values larger than 100)
* > 100; < 200 (get all values larger than 100, but smaller than 200)
 
It is also possible to filter for a variable that is currently not plotted. The filter will also affect other variables by filtering out those values that correspond to the same measurement points.
Filtering can also be used for 1-dimensional data like lists or arrays.
 
==== New line per value ====
If you make multi-dimensional parameter variations, you can tell SweepMe! where to split the lines by using the CheckBoxes for 'New line per value'. Select the module that performs the parameter variation for which you would like to split the plotted lines.  
 
Example: If you measure temperature dependent current-voltage characteristics, you would like to have for each temperature a curve for the current-voltage characteristic. Hence, you have to check 'New line per value' for the Temperature module.


=== Tab 'Style' ===
=== Tab 'Style' ===
Line 40: Line 57:
==== Color cycle ====
==== Color cycle ====


For each axis, a color cycle can be defined which is a png colormap file from which colors are extracted. In the folder "resources/colormaps" of the main porogram installation, a svg file template can be found to create own colormaps. These png colormap files should be saved in the public folder "Resource/colormaps" to keep them even if the SweepMe! version is changed. Colors are extracted along a horizontal central line along the image. If the file ends with an underscore and a number, a fixed number of colors is extracted. For example, 9 colors are extracted from the preinstalled colormap "SimpleColor_9.png" equidistantly. If no underscore + number is given at the end of the filename, as many colors are extracted as curves are in the plot. The alpha channel of each pixel is read out as well so that also transparency changes can be created.
For each axis, a color cycle can be defined which is a png colormap file from which colors are extracted. In the folder "resources/colormaps" of the main porogram installation, a svg file template can be found to create own colormaps. These png colormap files should be saved in the public folder "Resources/colormaps" to keep them even if the SweepMe! version is changed. Colors are extracted along a horizontal central line along the image. If the file ends with an underscore and a number, a fixed number of colors is extracted. For example, 9 colors are extracted from the preinstalled colormap "SimpleColor_9.png" equidistantly. If no underscore + number is given at the end of the filename, as many colors are extracted as curves are in the plot. The alpha channel of each pixel is read out as well so that also transparency changes can be created.
   
   
You can use 'revert' to flip the colormap to start the color cycle other way around. The option 'start from last curve' uses the first color of the cycle always for the last added and then takes the second color for the second last addded curve and so. This way, you can make sure that your last added curves have always the same color. It can be helpful to use a colormap where the last added curve is always highlighted.
You can use 'revert' to flip the colormap to start the color cycle other way around. The option 'start from last curve' uses the first color of the cycle always for the last added and then takes the second color for the second last addded curve and so. This way, you can make sure that your last added curves have always the same color. It can be helpful to use a colormap where the last added curve is always highlighted.
Line 46: Line 63:
=== Tab 'Scales' ===
=== Tab 'Scales' ===
* 'Scale' -> select whether scales are linear or logarithmic
* 'Scale' -> select whether scales are linear or logarithmic
* 'Fixed axes limits' -> All plots are autoscaled. Select fixed boundaries for your data if you like.
* 'Fixed axes limits' -> All plots are normally autoscaled. Use fixed boundaries for your data if you like.
* 'Normalize to / Divide by' -> Enter a value and the data will be divided by this value or choose 'maximum', 'minimum', 'last', or 'first' to normalize your data.
* 'Normalize to / Divide by' -> Enter a value and the data will be divided by this value or choose 'maximum', 'minimum', 'last', or 'first' to normalize your data.
* 'Scaling mode' -> if you have visualize data at the left y axis ('y') and the right y axis ('z') you can define whether both axis use a global scaling, are individually scaled, or use a scale defined by either 'y' or 'z'
* 'Scaling mode' -> if you have to visualize data at the left y axis ('y') and the right y axis ('z') you can define whether both axis use a global scaling, are individually scaled, or use a scale defined by either 'y' or 'z'
* 'Design' -> in progress... :) You can already choose whether a grid should be shown. The legend also works but just shows an index that increments for each variaton.


=== Tab 'Design' ===
=== Tab 'Design' ===

Latest revision as of 12:39, 29 November 2022

Last updated for: Version 1.5.5.44

Basics

Create a new plot

Goto 'Widgets' -> 'Plot' -> 'New..' A Plot widget will popup and now you can place it into the Dashboard

Remove a plot

Goto 'Widgets' -> 'Plot' -> 'Plot<i>' -> 'Remove' Here, <i> is the number of the plot. Further, you can click the close button at the widget. You will be asked whether you like to hide or to remove the widget.

Rename a plot

Goto 'Window' -> 'Plot' -> 'Plot<i>' -> 'Rename' Here, <i> is the number of the plot.

Modify a plot

Double click on a plot. A dialog opens that allows you to set the plotted variables, change the design of the plot and other things.

Tabs

Tab 'Values'

All Modules that are part of the sequencer are listed. Expand the modules and select the variables that you would like to plot:

  • 'x' refers to the bottom x axis
  • 'y' refers to the left y axis
  • 'z' refers to the right y axis

Slice/Filter

The functionality 'Slice/Filter' allows you to reduce the plotted data.

Slicing only works for the setpoint variation of the modules. For example if a module Loop creates a repetition, one can slice through its iterations. It is not possible to slice data that is 1-dimensional like lists or arrays as they are still related to a measurement point and one can only slice measurement points that are created by combination of variations of the modules.

The syntax is directly adapted from array slicing via numpy in python.

  • use '-1' to get the last point of a variation
  • use '-100:' to get the 100 points of a variaton
  • use '0' to get the data of first parameter of a variaton, and '1' to get the data of the second parameter of a variation
  • use '::2' to get every second data point
  • use '1::2' to get every second data point but starting from the second value.

Filtering applies to meausured values. Here are some examples:

  • > 100 ( get all values larger than 100)
  • > 100; < 200 (get all values larger than 100, but smaller than 200)

It is also possible to filter for a variable that is currently not plotted. The filter will also affect other variables by filtering out those values that correspond to the same measurement points. Filtering can also be used for 1-dimensional data like lists or arrays.

New line per value

If you make multi-dimensional parameter variations, you can tell SweepMe! where to split the lines by using the CheckBoxes for 'New line per value'. Select the module that performs the parameter variation for which you would like to split the plotted lines.

Example: If you measure temperature dependent current-voltage characteristics, you would like to have for each temperature a curve for the current-voltage characteristic. Hence, you have to check 'New line per value' for the Temperature module.

Tab 'Style'

There are different plot styles that you can use. The default setting is 'Lines' which displays markers and lines. Other plot styles are under development, but can be already tested. Let us know if you need further features and improvements. Just write to support@sweep-me.net

Color cycle

For each axis, a color cycle can be defined which is a png colormap file from which colors are extracted. In the folder "resources/colormaps" of the main porogram installation, a svg file template can be found to create own colormaps. These png colormap files should be saved in the public folder "Resources/colormaps" to keep them even if the SweepMe! version is changed. Colors are extracted along a horizontal central line along the image. If the file ends with an underscore and a number, a fixed number of colors is extracted. For example, 9 colors are extracted from the preinstalled colormap "SimpleColor_9.png" equidistantly. If no underscore + number is given at the end of the filename, as many colors are extracted as curves are in the plot. The alpha channel of each pixel is read out as well so that also transparency changes can be created.

You can use 'revert' to flip the colormap to start the color cycle other way around. The option 'start from last curve' uses the first color of the cycle always for the last added and then takes the second color for the second last addded curve and so. This way, you can make sure that your last added curves have always the same color. It can be helpful to use a colormap where the last added curve is always highlighted.

Tab 'Scales'

  • 'Scale' -> select whether scales are linear or logarithmic
  • 'Fixed axes limits' -> All plots are normally autoscaled. Use fixed boundaries for your data if you like.
  • 'Normalize to / Divide by' -> Enter a value and the data will be divided by this value or choose 'maximum', 'minimum', 'last', or 'first' to normalize your data.
  • 'Scaling mode' -> if you have to visualize data at the left y axis ('y') and the right y axis ('z') you can define whether both axis use a global scaling, are individually scaled, or use a scale defined by either 'y' or 'z'

Tab 'Design'

In this tab, you can find options to control the grid and the legend.