Skip to content

Poor architecture of plotting modules #129

@JoYvBa

Description

@JoYvBa

The plotting functions in the visualize module work well for simple plots and animations. However, for more complex figures, specifically animations, the functionalities fall short. The functions are already a stack of if-else and loops to account for animation and plotting multiple models at once, adding even more for additional functionalities will make them unmaintainable.

For the examples of field site case studies, more complex figures are needed. Ideally, those figure should be able to be inherently generated by the mibitrans plotting, to prevent large plotting functions in the examples themselves. For this, the plotting module should get a refactor to disentangle already existing features, allowing for additional ones without making the plotting functions even more complex.

For example, you can make a centerline plot at two different y-locations by:
model.centerline(y=0) model.centerline(y=2)
However, this can not be animated, since the animation should be done with only a single function call. You could implement
mbt.centerline(model, y=[0,2])
but then what to do when
mbt.centerline([model, model2], y=[0,2]
adding all this into a single function will lead to an amalgamation of a plot function. There should be a way to design it more modularly.

Metadata

Metadata

Assignees

No one assigned

    Labels

    priority: 2Feature that would be nice to have, but not a prioritytopic: visualisationIssue relating to visualisation functionalities

    Type

    Projects

    Status

    No status

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions