fileName   = "colorMap.svg",
                     width      =  10,  // [mm]
                     height     = 100,  // [mm]
                     x          =  20,  // [mm]
                     y          =  10,  // [mm]
                     T_min      =   0,
                     T_max      = 100,
                     nScalars   =  11,
                     format     = ".3g",
                     fontSize   =  11,  // [pt]
                     textWidth  =   8,  // [mm]
                     caption    = "",
                     headerType = Colors.colorMapToSvg.Header.svgBeginAndEnd)
                                                           // svgBegin
                                                           // svgEnd
                                                           // svgNoHeader


This function saves the color map "Real colorMap[:,3]" on file "fileName" in svg format. The color map has a width of "width" and a height of "height" and the upper left corner is placed at coordinates "(x,y)". Over the color map, a caption "caption" is placed. On the right side of the color map, a set of scalar field values T is displayed where "T_min" is placed at colorMap[1,:], "T_max" is placed at colorMap[end,:] and "nScalars" values between "T_min" and "T_max" (including T_min and T_max) are shown. The printing format of the numbers is defined with "format", see definition below. With argument "headerType" it is defined whether "svg" begin and end lines are printed. If the "begin" svg tag shall be printed, file "fileName" is deleted, if it already exists. Otherwise, all output is appended to the file "fileName".

A "svg" file can be displayed by a web browser, such as Firefox by dragging the file in the browser window. Alternatively, a svg-file can be loaded in a graphics program, such as the free Inkscape, can be manipulated and can be exported in other graphic formats. The following image was generated with a call to "colorMapToSvg", the generated file was loaded in Inkscape and exported in "png" format:

The "format" argument defines the string formatting according to ANSI-C without "%" and "*" character
(e.g., ".6g", "14.5e", "+6f"). In particular:

format = "[<flags>] [<width>] [.<precision>] <conversion>" with

<flags> zero, one or more of
"-": left adjustment of the converted number
"+": number will always be printed with a sign
"0": padding to the field width with leading zeros
<width> Minimum field width. The converted number will be printed in a field at
least this wide and wider if necessary. If the converted number has
fewer characters it will be padded on the left (or the right depending
on <flags>) with blanks or 0 (depending on <flags>).
<precision> The number of digits to be printed after the decimal point for
e, E, or f conversions, or the number of significant digits for
g or G conversions.
<conversion> = "e": Exponential notation using a lower case e
= "E": Exponential notation using an upper case E
= "f": Fixed point notation
= "g": Either "e" or "f"
= "G": Same as "g", but with upper case E


function colorMapToSvg
  extends Modelica.Icons.Function;
  encapsulated type HeaderType = enumeration(svgBeginAndEnd, svgBegin, svgEnd, noHeader);
  import Modelica.Utilities.Streams.print;
  input Real colorMap[:, 3] "Color map to be stored in svg format" annotation(
    choices(choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.jet(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.hot(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.gray(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.spring(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.summer(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.autumn(), choice = Modelica.Mechanics.MultiBody.Visualizers.Colors.ColorMaps.winter()));
  input String fileName = "colorMap.svg" "File where the svg representation shall be stored";
  input Real width(unit = "mm") = 10 "Width in svg-figure";
  input Real height(unit = "mm") = 100 "Height in svg-figure";
  input Real x(unit = "mm") = 20 "X-Coordinate of left upper corner";
  input Real y(unit = "mm") = 10 "Y-Coordinate of left upper corner";
  input Real T_min = 0 "Value of scalar corresponding to colorMap[1,:]";
  input Real T_max = 100 "Value of scalar corresponding to colorMap[end,:]";
  input Integer nScalars = 11 "Number of scalars to be displayed at the right side";
  input String format = ".3g" "Format of the numbers";
  input Real fontSize = 11 "Font size in [pt]";
  input Real textWidth(unit = "mm") = 8 "Numbers are right justified starting at x+width+textWidth";
  input String caption = "" "Caption above the map";
  input HeaderType headerType = Colors.colorMapToSvg.HeaderType.svgBeginAndEnd "Type of header";
end colorMapToSvg;


Name Description

Generated at 2020-07-03T01:42:03Z by OpenModelicaOpenModelica 1.16.0~dev-530-g13b906c using GenerateDoc.mos