mbakker7 / ttim

MIT License
34 stars 23 forks source link

Better plots for TTim #70

Open dbrakenhoff opened 1 month ago

dbrakenhoff commented 1 month ago

The plot functions under the model object in TTim are somewhat limited.

Proposal:

Other suggestions welcome!

dbrakenhoff commented 1 month ago

Example for a cross-section:

ml.plots.xsection(labels=True, params=True)

image

HMEUW commented 1 month ago

Great idea. Some additional ideas:

dbrakenhoff commented 1 month ago

Good suggestions.

  • plot location and property of elements as well (e.g. LineSinks)

This is a bit of a challenge, though definitely doable. We'd need to compute intersections for all elements the line crosses. And give each element a e.plot_xsection() method that takes some distance r as input and plots the vertical representation of the element at that location. Giving each element a shapely representation through e.geometry would make that fairly easy though (as suggested here: https://github.com/mbakker7/timml/issues/69).

Seperate plotly part, or plot function that returns x and y lists of data to plot

What would you need for these plots? For now you could add a tim_plotly repository to the tim groundwater organization. With methods that take a Tim-model as input and produce some kind of plotly plot.

  • highlight aquifer that is plotted, when plotting in a section,

What do you mean by this one?

mbakker7 commented 1 month ago

Nice ideas. I suggest to start with a plots module and add some functionality there.

HMEUW commented 1 month ago

highlight aquifer that is plotted, when plotting in a section: What do you mean by this one?

See example below. Lines are calculated heads in aquifer 1 and 2. The aquifers are filled to indicate in which aquifer the calculated heads are present. Or dashed line in the center of the aquifer.

image

image