JSB to PNG: Difference between revisions
m (→See also) |
(Added instructions for use) |
||
Line 8: | Line 8: | ||
[[File:JSB-lines.png|thumb|A lines plot of a 2D table]] | [[File:JSB-lines.png|thumb|A lines plot of a 2D table]] | ||
[[File:JSB-line.png|thumb|A lineplot of a 1D table]] | [[File:JSB-line.png|thumb|A lineplot of a 1D table]] | ||
==Instructions== | |||
Requires python with plotly.express and plotly.graph_objects libraries (recent version).<br /> | |||
When run, a folder will be created in working folder named same as the jsb input filename, but without the xml extension.<br /> | |||
In that folder PNG of the tables will be output, it '''will''' overwrite images if the folder is not empty.<br /> | |||
Each table in the JSB input file that you want to graph '''must''' have name attribute in the <table> tag. That name will also be used a Y-axis title in the graphs. Do not have multiple tables with same name since its used in naming the image files also.<br /> | |||
For 2D and 3D tables <independentVar> tags '''must''' all have lookup attributes.<br /> | |||
Example: | |||
<syntaxhighlight lang="xml"> | |||
<table name="Groundeffect normal force"> | |||
<independentVar lookup="row">aero/h_b-mac-ft</independentVar> | |||
<independentVar lookup="column">aero/alpha-deg</independentVar> | |||
<tableData> | |||
0.0 5.0 15.0 90.0 | |||
0.0 0.0000 0.2000 0.6500 -0.2500 | |||
2.2 0.0000 0.0000 0.0000 0.0000 | |||
</tableData> | |||
</table> | |||
</syntaxhighlight> | |||
For 2D and 3D tables it will graph both a lines and a carpet plot.<br /> | |||
'''Commandline:''' python jsb-to-png.py [filename]<br /> | |||
If no filename is specified as commandline argument then "jsb-test.xml" is assumed. | |||
==See also== | ==See also== | ||
[https://github.com/alanjt/Jiff Jiff] | [https://github.com/alanjt/Jiff Jiff (C++ program that does approx the same thing] | ||
==External links== | ==External links== |
Revision as of 03:40, 27 February 2020
JSB to PNG is a tool programmed in python.
It will take a JSBSim file as input and will then output PNG images of the tables in that file.
Will output both lines and carpet plots for 2D/3D tables. For 1D tables just line plot.
Instructions
Requires python with plotly.express and plotly.graph_objects libraries (recent version).
When run, a folder will be created in working folder named same as the jsb input filename, but without the xml extension.
In that folder PNG of the tables will be output, it will overwrite images if the folder is not empty.
Each table in the JSB input file that you want to graph must have name attribute in the
tag. That name will also be used a Y-axis title in the graphs. Do not have multiple tables with same name since its used in naming the image files also.For 2D and 3D tables <independentVar> tags must all have lookup attributes.
Example:
<table name="Groundeffect normal force">
<independentVar lookup="row">aero/h_b-mac-ft</independentVar>
<independentVar lookup="column">aero/alpha-deg</independentVar>
<tableData>
0.0 5.0 15.0 90.0
0.0 0.0000 0.2000 0.6500 -0.2500
2.2 0.0000 0.0000 0.0000 0.0000
</tableData>
</table>
For 2D and 3D tables it will graph both a lines and a carpet plot.
Commandline: python jsb-to-png.py [filename]
If no filename is specified as commandline argument then "jsb-test.xml" is assumed.
See also
Jiff (C++ program that does approx the same thing