Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ENH: Add plot feature to model object #95

Open
1 of 3 tasks
amanmajid opened this issue Apr 30, 2024 · 0 comments
Open
1 of 3 tasks

ENH: Add plot feature to model object #95

amanmajid opened this issue Apr 30, 2024 · 0 comments
Labels
enhancement New feature or request

Comments

@amanmajid
Copy link
Contributor

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).

@Tomkourou Tomkourou added the enhancement New feature or request label May 2, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants