Dispatch Plots#

General plots for plotting dispatch stacks.

  • Annual Stacked Generation

  • Monthly Stacked Generation

  • Stacked Generation by Area

  • Stacked Generation Time Window

  • Stacked Generation during Peak Demand

  • Stacked Generation during Min Demand

A set of stateless plotting functions to produce common graphs based on datasets generated by scenariohandler objects although not required.

Datasets are expected to have a column level named “Technology” and works well with multi-index column features available in pandas. In general, the plotting functions can process dataframes with up to 3 column levels [“Area”, “Technology”, “Generator”].

@author: Micah Webb

gat.quickplots.dispatch.facet_dispatch_windows(dispatch, timestamps, titles, window_delta=3, return_frame=False, palette=None, backend=None, **kwargs)#

takes in a dispatch dataframe and a list of timestamps, and returns a facet plot of those timestamps

Parameters:
  • timestamps (list)

  • titles (list)

gat.quickplots.dispatch.plot_annual_area_curtailment_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Expects a Area curtailment dataset with a MultiIndex column of 2 levels. level 0: Area (e.g. balancing area, ISO, Interconnect, any group of generators) level 1: Technology type (e.g. PV, Wind, Offshore-Wind)

Returns a stacked bar plot with varying colors for each technology: x-axis: Area (e.g. balancing area, ISO, Interconnect, any group of generators) y-axis: Total Geneartion (TWh)

gat.quickplots.dispatch.plot_annual_area_dispatch_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots a stacked bar of the various Power Generation technologies for each Area within the MultiIndex column.

If Multi-Year, aggregates all years together.

y-axis: Generation & Demand (TWh) x-axis: Area Name

gat.quickplots.dispatch.plot_annual_system_curtailment_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots a stacked bar of the various various Curtailable Power Generation technologies (Wind, PV)

If multi-year, plots a bar for each year.

Expects a DateTimeIndex and Resamples the dataframe to Yearly and calls, plot_dispatch_stack_bar() method.

y-axis: Generation & Demand (TWh) x-axis: Year in %Y format.

gat.quickplots.dispatch.plot_annual_system_dispatch_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots a stacked bar of the various Power Generation technologies in the dataframe

If multi-year, plots a bar for each year.

Expects a DateTimeIndex and Resamples the dataframe to Yearly and calls, plot_dispatch_stack_bar() method.

y-axis: Generation & Demand (TWh) x-axis: Year in %Y format.

gat.quickplots.dispatch.plot_dispatch_stack_bar(df, include_net_load=False, include_total_load=False, ax=None, palette=None, backend=None, **kwargs)#

Plots a bar chart of the Dispatch Stack dataframe

expects a dataframe with columns of standard technology types (Wind, PV, etc.)

y - axis: Total Generation and Demand* in TWh x - axis: The index of the dataframe. (examples: Months of the year, Year, ISOs, Balancing Areas)

  • Plots Demand if available

gat.quickplots.dispatch.plot_min_demand_window(df, window_delta=3, ax=None, return_frame=False, load_column=None, palette=None, backend=None, **kwargs)#

Plots the stacked area chart for the minimum demand window. Finds the index of the minimum demand and calls the plot_stacked_area() method

Annotates the point of minimum demand.

x-axis: Dataframe index, usually timestamps y-axis: Power by Dispatch Technology in GW, (Wind, PV, etc)

gat.quickplots.dispatch.plot_monthly_system_curtailment_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots a stacked bar of the various Curtailable Power Generation technologies (Wind, PV)

Expects a DateTimeIndex and Resamples the dataframe to monthly and calls, plot_dispatch_stack_bar() method.

y-axis: Generation & Demand (TWh) x-axis: Year in %B format.

gat.quickplots.dispatch.plot_monthly_system_dispatch_stack(df, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots a stacked bar of the various Power Generation technologies

Expects a DateTimeIndex and Resamples the dataframe to monthly and calls, plot_dispatch_stack_bar() method.

y-axis: Generation & Demand (TWh) x-axis: Year in %B format.

gat.quickplots.dispatch.plot_peak_demand_window(df, window_delta=3, ax=None, return_frame=False, palette=None, backend=None, **kwargs)#

Plots the stacked area chart for the peak demand window. Finds the index of the max demand and calls the plot_stacked_area() method

Annotates the point of peak demand.

x-axis: Dataframe index, usually timestamps y-axis: Power by Dispatch Technology in GW, (Wind, PV, etc)

gat.quickplots.dispatch.plot_stacked_area_window(df, ax=None, include_net_load=False, include_total_load=False, palette=None, backend=None, **kwargs)#

Plots a stacked area chart of the various technology types.

Generally reserved for plotting raw time windows of dataframes (no monthly or annual aggregates) Called by the plot_peak_demand_window() and plot_min_demand_window().

x-axis: Dataframe index, usually timestamps y-axis: Power by Dispatch Technology in GW, (Wind, PV, etc)