Skip to content

ENH: Add plot feature to model object #95

Description

@amanmajid

Feature Type

  • Adding new functionality to tz-osemosys

  • Changing existing functionality in tz-osemosys

  • Removing existing functionality in tz-osemosys

Problem Description

OSeMOSYS models are defined using node-edge representation (e.g., nodes = countries, edges = transmission), where nodes generally have geographical coordinates. Currently, users do not have an easy way to visualise their model in space.

Feature Description

We should add a plot() function to allow users to visualise their network on a map. For example, a user could do:

from tz.osemoesy import Model
# load model
model = Model.from_yaml('some_path')
# plot network
model.plot()
# solve model
model.solve()
# plot solved network, where generation mix could be shown by pie charts and flow between nodes could be illustrated by line sizing
model.plot()

This feature would be useful for spatially visualising a model. It would likely require dependency on matplotlib and potentially some mapping libraries (e.g., geopandas).

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions