Greetings. We (the group that I work with) have "inherited" some Python scripts that were written years ago, using Python 2.
We're trying to upgrade the scripts so that they work in our current environment: OS: Ubuntu 24.04.2 LTS $ python --version Python 3.11.13 >>> matplotlib.__version__ '3.10.0' The first script that we looked at has a line: cs = plt.contourf(X, Y, data, LevelsNumber, cmap=plt.cm.nipy_spectral, norm=norm).collections If I run that script with python 3, I get a warning: MatplotlibDeprecationWarning: The collections attribute was deprecated in Matplotlib 3.8 and will be removed two minor releases later. cmap=plt.cm.nipy_spectral, norm=norm).collections I also get the following error: paths = cs.get_paths() ^^^^^^^^^^^^ AttributeError: 'list' object has no attribute 'get_paths' The "paths" object that I get appears to be no more than a collection of geometric factors, i.e., without additional attributes such as color, for instance, and statements such as the following fail: bgra_array = 255*paths[i].get_facecolor()[0] AttributeError: 'Path' object has no attribute 'get_facecolor' Unfortunately, all the suggestions that I've found to remedy this suggest using the "collections" attribute, which is already in the code, and which as I noted above, has been deprecated (maybe eliminated -- 3.10 vs. 3.8) now. If you have any suggestions about this, please pass 'em along. Thanks. -- Michael -- https://mail.python.org/mailman3//lists/python-list.python.org