Skip to main content

Export Plot configuration: JSON Format

We use matplotlib v3.1.3 for our plot generation. The plot report is configured using JSON. The top level global applies global configuration. It currently supports a limited subset of the rcParams: font_size, font_family, agg_path_chunksize. Future versions will support all rcParams keys. The global["plot_options"] can be used to configure plot options for all series. This is convenient if you want to apply an option to all series without having to define it for each one. We support all matplotlib Line2D properties.

plot_options can also be defined at the plots level, which will apply to each series within a plot, or at the series level, which will apply to a specific series. All plot_options are merged together when plotting each series, with the series plot_options having the highest precedence.

Below is an example JSON plot config file. Note that pages and plots are JSON arrays; the generated pages and plots are ordered accordingly.

{
  "global": {
      "plot_options": {
        "linewidth": 0.3,
        "marker": "d",
        "markersize": 3
      },
      "font_size" : 10,
      "font_family" : "monospace",
      "agg_path_chunksize": 10000
  },
  "pages": [
    {
      "plots": [
        {
          "title": "box rack currents",
          "series": [
              { 
                  "mnemonic": "oci.dau.boxrack.power.PS01.m1curoutp",
                  "plot_options": {"marker": "x"}
              }
          ],
          "plot_options": { "color": "red" },
          "y_min": -5,
          "y_max": 5
        }
      ]
    }
  ]
}