2 LogarithmPlotter file format v1.0
Ad5001 edited this page 2022-04-02 14:23:18 +00:00

LogarithmPlotter file format v1.0

LogarithmPlotter files (with the extension .lpf), are json-encoded files with a 5 byte header LPFv1.

JSON Tree:

top level
├─ type: <string> "logplotv1"
├─ width: <number> width in pixels of the plot.
├─ height: <number> height in pixels of the plot.
├─ xzoom: <number> Number of pixels between each unit on the x axis.
├─ yzoom: <number> Number of pixels between each unit on the y axis.
├─ xmin: <number> Minimum x coordinate from which the plot should draw.
├─ ymax: <number> Maximum y coordinate from which the plot should draw.
├─ yaxisstep: <string> distance between each graduation in the y axis. String because it's an expression (e.g. 1/2, pi+1).
├─ xaxisstep: <string> (only in non-logarithmic scale) Distance between each graduation in the x axis.
├─ xaxislabel: <string> Label used for the x axis.
├─ yaxislabel: <string> Label used for the y axis.
├─ logscalex: <boolean> When true, the x axis is rendered with a logarithmic scale.
├─ linewidth: <number> Weight of elements drawn on the plot (line width, dot's size...).
├─ showxgrad: <boolean> When false, hides numbers from the x axis' graduation.
├─ showygrad: <boolean> When false, hides numbers from the y axis' graduation.
├─ textsize: <number> Base font size for the text drawn on the plot..
├─ history: <list> Root items from history
│  ├─ 0: <history action list> stack of undo actions (from most ancient to most recent) 
│  │  └─ History action: [history action type, list of arguments for corresponding history action type]
│  └─ 1: <history action list> stack of redo actions (from most advanced to now)
│     └─ History action: [history action type, list of arguments for corresponding history action type]
└─ objects: <object dictionary> dictionary of actions with their property (from most advanced to now)
   └─ key: object type, value: list of arguments for corresponding object type