Skip to content

interpol uses outdated matplotlib API #30

@timothy-nunn

Description

@timothy-nunn

When running through the 'Example: single-null configuration (introduction)' I am getting an error when clicking 'View loaded file' button.

Traceback (most recent call last):
  File "/Users/timothynunn/INGRID/INGRID/interpol.py", line 235, in PlotLevel
    self.psi_levels[label].collections[0].remove()
KeyError: 'psi_1'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/opt/homebrew/Cellar/python@3.10/3.10.17_1/Frameworks/Python.framework/Versions/3.10/lib/python3.10/tkinter/__init__.py", line 1921, in __call__
    return self.func(*args)
  File "/Users/timothynunn/INGRID/INGRID/gui/ingrid_gui.py", line 516, in ViewData
    self.controller.IngridSession.ShowSetup(view_mode=view_mode)
  File "/Users/timothynunn/INGRID/INGRID/ingrid.py", line 1323, in ShowSetup
    self.PlotPsiNormBounds()
  File "/Users/timothynunn/INGRID/INGRID/ingrid.py", line 847, in PlotPsiNormBounds
    self.PsiNorm.PlotLevel(self.settings['grid_settings'][k], color=Dic[k], label=k)
  File "/Users/timothynunn/INGRID/INGRID/interpol.py", line 241, in PlotLevel
    self.psi_levels[label].collections[0].set_label(label)
AttributeError: 'QuadContourSet' object has no attribute 'collections'

This is caused by https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.8.0.html#contourset-is-now-a-single-collection

I would suggest the easiest way to fix this is to update the matplotlib requirement in setup.py: matplotlib<3.8.0 and am happy to make this PR.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions