InstituteforDiseaseModeling / malaria-model_validation

1 stars 2 forks source link

plotting script error: ModuleNotFoundError: No module named 'matplotlib._contour' #50

Closed YeChen-IDM closed 1 year ago

YeChen-IDM commented 1 year ago
(venv_test) C:\Github\Malaria\malaria-model_validation\create_plots>python run_generate_validation_comparisons_site.py
INI File Used: C:\Github\Malaria\malaria-model_validation\idmtools.ini
Traceback (most recent call last):
  File "C:\Github\Malaria\malaria-model_validation\create_plots\run_generate_validation_comparisons_site.py", line 11, in <module>
    from create_plots.helpers_coordinate_each_relationship import generate_age_incidence_outputs, \
  File "C:\Github\Malaria\malaria-model_validation\create_plots\helpers_coordinate_each_relationship.py", line 17, in <module>
    from create_plots.helpers_plot_ref_sim_comparisons import plot_inc_ref_sim_comparison, plot_prev_ref_sim_comparison, \
  File "C:\Github\Malaria\malaria-model_validation\create_plots\helpers_plot_ref_sim_comparisons.py", line 6, in <module>
    from plotnine import ggplot, aes, geom_bar, scale_fill_brewer, facet_grid, geom_line, geom_point, geom_errorbar, \
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\__init__.py", line 1, in <module>
    from .qplot import qplot            # noqa: F401
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\qplot.py", line 9, in <module>
    from .ggplot import ggplot
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\ggplot.py", line 20, in <module>
    from .facets import facet_null
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\facets\__init__.py", line 1, in <module>
    from .facet_grid import facet_grid
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\facets\facet_grid.py", line 6, in <module>
    from .facet import facet, layout_null, combine_vars, add_missing_facets
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\facets\facet.py", line 13, in <module>
    from ..scales.scales import Scales
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\scales\__init__.py", line 83, in <module>
    from .limits import xlim, ylim, lims, expand_limits
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\scales\limits.py", line 8, in <module>
    from ..geoms import geom_blank
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\geoms\__init__.py", line 6, in <module>
    from .geom_abline import geom_abline
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\geoms\geom_abline.py", line 9, in <module>
    from .geom import geom
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\geoms\geom.py", line 3, in <module>
    from ..stats.stat import stat
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\stats\__init__.py", line 7, in <module>
    from .stat_density_2d import stat_density_2d
  File "C:\Github\Malaria\malaria-model_validation\venv_test\lib\site-packages\plotnine\stats\stat_density_2d.py", line 3, in <module>
    import matplotlib._contour as _contour
ModuleNotFoundError: No module named 'matplotlib._contour'

I believe this is a known issue in plotnine https://github.com/has2k1/plotnine/issues/619 and fix in the latest plotnine version https://github.com/has2k1/plotnine/commit/c48d5a26ab0d0a54ed47bbefc6a83b5fcb2af616, so we would need to install at least plotnine ~= v0.10.0, but this version has conflict with idmtools requirement, the latest version which meets the idmtools requirement is v0.8.0. If we upgrade our requirement for plotnine to 0.10.0, installation will fail, please see #49 for details

YeChen-IDM commented 1 year ago

fix with the latest plotnine package, change is in PR #47