flexmeasures.data.models.charts.belief_charts

Functions

flexmeasures.data.models.charts.belief_charts.bar_chart(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, **override_chart_specs: dict)

Generates specifications for a bar chart using sensor data. This function leverages the create_bar_chart_or_histogram_specs helper function to create the specifications.

flexmeasures.data.models.charts.belief_charts.charge_point_chart_sensors(sensors_to_show: list[dict]) → list['Sensor']

The sensors whose data the Charge Points chart draws.

These are the session timestamps in any graph, followed by the sensors of the companion graphs it draws below them (see charge_point_companion_graph).

Parameters:

sensors_to_show – a validated sensors_to_show.

Returns:

a unique list of sensors.

flexmeasures.data.models.charts.belief_charts.charge_point_companion_graph(entry: dict) → dict | None

The part of this sensors_to_show graph that the Charge Points chart draws below its sessions, if any.

Graph titles are matched as the chart shows them, i.e. capitalized, so a graph titled “prices” counts as a Prices graph. Of a Power flow by type graph, only the charge points power is kept.

Parameters:

entry – a graph of a validated sensors_to_show.

Returns:

the graph (for Power flow by type, a copy holding only the charge points power), or None if the chart does not draw it.

flexmeasures.data.models.charts.belief_charts.chart_for_chargepoint_sessions(sensors_to_show, event_starts_after=None, event_ends_before=None, combine_legend=True, **override_chart_specs) → dict
flexmeasures.data.models.charts.belief_charts.chart_for_multiple_sensors(sensors_to_show: list['Sensor' | list['Sensor'] | dict[str, 'Sensor']], event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, combine_legend: bool = True, **override_chart_specs: dict)

Create a chart for multiple sensors.

Parameters:
  • sensors_to_show – List of sensor entries to display.

  • event_starts_after – Start of time window.

  • event_ends_before – End of time window.

  • combine_legend – Whether to combine legends.

  • override_chart_specs – Additional chart spec overrides.

Returns:

Vega-Lite chart specification dictionary.

flexmeasures.data.models.charts.belief_charts.create_bar_chart_or_histogram_specs(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, chart_type: str = 'bar_chart', **override_chart_specs: dict)

This function generates the specifications required to visualize sensor data either as a bar chart or a histogram. The chart type (bar_chart or histogram) can be specified, and various field definitions are set up based on the sensor attributes and event time range. The resulting specifications can be customized further through additional keyword arguments.

The function handles the following:

  • Determines unit and formats for the sensor data.

  • Configures event value and event start field definitions.

  • Sets the appropriate mark type and interpolation based on sensor attributes.

  • Defines chart specifications for both bar charts and histograms, including titles, axis configurations, and tooltips.

  • Merges any additional specifications provided through keyword arguments into the final chart specifications.

flexmeasures.data.models.charts.belief_charts.create_circle_layer(sensors: list['Sensor'], event_start_field_definition: dict, event_value_field_definition: dict, sensor_field_definition: dict, shared_tooltip: list)
flexmeasures.data.models.charts.belief_charts.create_fall_dst_transition_layer(timezone, mark, event_value_field_definition, event_start_field_definition, tooltip, split: str) → dict

Special layer for showing data during the daylight savings time transition in fall.

flexmeasures.data.models.charts.belief_charts.create_hover_ruler_layer(event_start_field_definition: dict) → dict

Create a vertical ruler that appears when hovering a chart row.

flexmeasures.data.models.charts.belief_charts.create_line_layer(sensors: list['Sensor'], event_start_field_definition: dict, event_value_field_definition: dict, sensor_field_definition: dict, combine_legend: bool)
flexmeasures.data.models.charts.belief_charts.create_rect_layer(event_start_field_definition: dict, event_value_field_definition: dict, shared_tooltip: list)
flexmeasures.data.models.charts.belief_charts.daily_heatmap(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, **override_chart_specs: dict)
flexmeasures.data.models.charts.belief_charts.determine_shared_sensor_type(sensors: list['Sensor']) → str
flexmeasures.data.models.charts.belief_charts.determine_shared_unit(sensors: list['Sensor']) → str
flexmeasures.data.models.charts.belief_charts.heatmap(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, split: str = 'weekly', **override_chart_specs: dict)
flexmeasures.data.models.charts.belief_charts.histogram(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, **override_chart_specs: dict)

Generates specifications for a histogram chart using sensor data. This function leverages the create_bar_chart_or_histogram_specs helper function, specifying chart_type as ‘histogram’.

flexmeasures.data.models.charts.belief_charts.weekly_heatmap(sensor: Sensor, event_starts_after: datetime | None = None, event_ends_before: datetime | None = None, **override_chart_specs: dict)