02_user_tutorials:08_technical_features:plotting-data
Differences
This shows you the differences between two versions of the page.
| Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
| 02_user_tutorials:08_technical_features:plotting-data [2025/01/24 15:51] – removed - external edit (Unknown date) 127.0.0.1 | 02_user_tutorials:08_technical_features:plotting-data [2025/01/24 16:36] (current) – tim2 | ||
|---|---|---|---|
| Line 1: | Line 1: | ||
| + | {{howhard> | ||
| + | ====== Datasets and Plots inside GroIMP ====== | ||
| + | |||
| + | |||
| + | GroIMP comes with an included management of dataset and the ability to visualize them, in the following only a small introduction is given. | ||
| + | |||
| + | ===== Datasets in RGG ===== | ||
| + | |||
| + | A datasets in GroIMP are simple tables, that can be referenced from RGG and the GUI. | ||
| + | |||
| + | ==== Getting data in ==== | ||
| + | |||
| + | To create a Dataset in GroIMP the DataSetRef object is used as following: | ||
| + | <code java> | ||
| + | DatasetRef diagram = new DatasetRef(" | ||
| + | </ | ||
| + | |||
| + | In a dataset each row is described as a Dataseries and to add data a new series has to be added as following: | ||
| + | |||
| + | <code java> | ||
| + | Dataseries ds = diagram.addRow(); | ||
| + | </ | ||
| + | |||
| + | Now we can add numeric data to the different columns of this series by using the set function: | ||
| + | <code java> | ||
| + | ds.set(0, | ||
| + | ds.set(1, | ||
| + | for(int i=2; i<10; i++){ | ||
| + | | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | It is also possible to create a new row in a dataset in one line of code: | ||
| + | <code java> | ||
| + | diagram.addRow().set(0, | ||
| + | </ | ||
| + | |||
| + | ==== Clearing ==== | ||
| + | |||
| + | A dataset is a Resource of GroIMP and therefore not removed when the simulation is reset or recompiled. In order to clear a dataset the following command can be used. | ||
| + | <code java> | ||
| + | diagram.clear(); | ||
| + | </ | ||
| + | |||
| + | ==== Column titles ==== | ||
| + | |||
| + | Similar to the set function it is possible to add column titles using the following command: | ||
| + | |||
| + | <code java > | ||
| + | diagram.setColumnKey(0," | ||
| + | </ | ||
| + | |||
| + | |||
| + | ==== Exporting datasets ==== | ||
| + | |||
| + | It is possible to export a dataset from RGG using a Java FileWriter as shown below: | ||
| + | |||
| + | <code java> | ||
| + | import java.io.FileWriter; | ||
| + | public void getData(){ | ||
| + | DatasetRef diagram = new DatasetRef(" | ||
| + | FileWriter fw = new FileWriter("/ | ||
| + | diagram.export(fw); | ||
| + | fw.close(); | ||
| + | } | ||
| + | </ | ||
| + | |||
| + | It is also possible to define the Separator that is used for the file by e.g. '' | ||
| + | And the same works as well with a StringBuffer instead of the FileWriter. | ||
| + | |||
| + | ===== Datasets in Gui ===== | ||
| + | |||
| + | The datasets can be seen in the dataset explorer. This can be found in the main menu under Panels/ | ||
| + | |||
| + | ===== Visualizing Datasets ===== | ||
| + | |||
| + | To visualize a dataset in GroIMP the chart() function is used: | ||
| + | <code java> | ||
| + | | ||
| + | </ | ||
| + | |||
| + | in a full example like this: | ||
| + | |||
| + | <code java> | ||
| + | module A(float len) extends Sphere(0.1) | ||
| + | { | ||
| + | {setShader(GREEN); | ||
| + | } | ||
| + | DatasetRef diagram = new DatasetRef(" | ||
| + | |||
| + | protected void init () | ||
| + | [ | ||
| + | Axiom ==> A(1); | ||
| + | { | ||
| + | diagram.setTitle(" | ||
| + | |||
| + | diagram.clear(); | ||
| + | | ||
| + | chart(diagram, | ||
| + | |||
| + | } | ||
| + | ] | ||
| + | |||
| + | public void run () | ||
| + | |||
| + | [ | ||
| + | A(x) ==> F(x) [RU(30) RH(90) A(x*0.8)] [RU(-30) RH(90) A(x*0.8)]; | ||
| + | { | ||
| + | diagram.addRow().set(0, | ||
| + | |||
| + | } | ||
| + | ] | ||
| + | |||
| + | </ | ||
