Skip to content

Feature #557 line, eclv, equivalance testing bounds, revision series, and contour - plotly to matplotlib#571

Open
georgemccabe wants to merge 117 commits intofeature_555_replace_plotlyfrom
feature_557_line_gpm
Open

Feature #557 line, eclv, equivalance testing bounds, revision series, and contour - plotly to matplotlib#571
georgemccabe wants to merge 117 commits intofeature_555_replace_plotlyfrom
feature_557_line_gpm

Conversation

@georgemccabe
Copy link
Contributor

@georgemccabe georgemccabe commented Mar 19, 2026

Other changes

  • Fixed error bars to include caps
  • Removed top and right spines by default
  • Changed default dashed lines to more closely match plotly dashes (longer and more spaced out)

Differences

  • bar - removed right spine to match expected image
  • box - removed right spine and changed dash lines
  • contour - plotly to matplotlib
  • eclv - plotly to matplotlib
  • ens_ss - top and right spines removed -- expected only has top spine removed, will remedy later
  • equivalance_testing_bounds - plotly to matplotlib
  • histogram- removed top and right spines to match expected image
  • line - plotly to matplotlib
  • performance_diagram - removed top and right spines -- note: expected image has spines, so consider adding back?
  • revision_box - removed top and right spines to match expected image
  • revision_series - plotly to matplotlib
  • roc_diagram - removed top/right spines and changed dash lines to match expected images
  • scatter - removed top/right spines
  • skew_t - removed top/right spines
  • taylor_diagram - changed dashed lines - note: expected image uses closer spaced dashes since it was always created by matplotlib. is this change OK or should we fix it to use original spacing?

Pull Request Testing

  • Describe testing already performed for these changes:

Ran unit tests, reviewed image differences (summarized above)

  • Recommend testing for the reviewer(s) to perform, including the location of input datasets, and any additional instructions:

Review code changes
Review image differences

  • Do these changes include sufficient documentation updates, ensuring that no errors or warnings exist in the build of the documentation? [Yes]

  • Do these changes include sufficient testing updates? [Yes]

  • Will this PR result in changes to the test suite? [Yes]

    If yes, describe the new output and/or changes to the existing output:

  • Do these changes introduce new SonarQube findings? [No]

    If yes, please describe:

  • Please complete this pull request review by 3/24/2026.

Pull Request Checklist

See the METplus Workflow for details.

  • Add any new Python packages to the METplus Components Python Requirements table.
  • Review the source issue metadata (required labels, projects, and milestone).
  • Complete the PR definition above.
  • Ensure the PR title matches the feature or bugfix branch name.
  • Define the PR metadata, as permissions allow.
    Select: Reviewer(s) and Development issue
    Select: Milestone as the version that will include these changes
    Select: Coordinated METplus-X.Y Support project for bugfix releases or METplotpy-X.Y.Z Development project for official releases
  • After submitting the PR, select the ⚙️ icon in the Development section of the right hand sidebar. Search for the issue that this PR will close and select it, if it is not already selected.
  • After the PR is approved, merge your changes. If permissions do not allow this, request that the reviewer do the merge.
  • Close the linked issue and delete your feature or bugfix branch from GitHub.

georgemccabe and others added 30 commits September 30, 2025 17:50
* Updated the release_date

* Removed the -rc1 suffix for coordinated release

* Updated for coordinated release

* Rotate authorship for coordinated release

* Update year of copyright date

* Per #550, modify formatting of release notes header

* Per #550, attempting to resolve SonarQube error with regard to coverage

Add source and omit settings for coverage tool

* Per #550, correcting syntax

Updated source paths for coverage tool and adjusted omit settings.

* Per #550, update coverage omit pattern for _netCDF4.pyx

* Per #550, another attempt to resolve the SonarQube error

* Per #550, another attempt to resolve the SonarQube error

Updated coverage configuration to omit specific files.

* Update pyproject.toml

move the omit from the tool.coverage.report to the tool.coverage.run to see if the histogram_2d/src/netCDF4 can be omitted from the trace

* Update pyproject.toml

try [run] source=. to prevent measuring code outside of project

* remove the [run] block, this causes issues with another GHA

* add source=. to only check the METplotpy source code and not third party libraries

* Use different syntax to omit the histogram_2d/src from report

* Return to original state, moved omit to the .coveragec config

* Update pyproject.toml

remove extraneous line

* Update release-notes.rst

* Update conf.py

---------

Co-authored-by: Julie Prestopnik <jpresto@ucar.edu>
…g.py. Updated plots that use plotly to import from those versions so it is clear which plots still rely on plotly and need to be updated. This will also allow optional support of plotly for certain plots if we are not able to fully get rid of the plotly dependency in this development cycle. Also removed some unused imports. Replaced util.py function apply_weight_style with get_font_params since the existing version will not be able to be used with matplotlib
…y matplotlib. Instead set xaxis label weight similar to taylor_diagram logic
…feature_556_copy_base_and_common_functionality
…tring 9999 to integer 9999 and use np.nan instead of string 'NA'
…causes yaml configurations for lines to be ignored
…feature_556_copy_base_and_common_functionality
update copyright year
…feature_556_copy_base_and_common_functionality
…units. added helper function to reduce duplication for logic to convert units
…l and y-axis label style, weight, and font size. Moved the add_horizontal_line() and add_vertical_line() code from the util.py module to this module as this will be needed for all plot types. TODO comments are used to denote code that will need to be removed when all plot types have migratee to Matplotlib.
…to properly handle the x value locations for some plots to use the actual values instead of an index 0-n
…h from the line plot as possible. Created function in line plot to handle drawing of series so that it could be used for the eclv line plots that draw multiple lines for pct series
@georgemccabe georgemccabe moved this from 🩺 Needs Triage to 🔎 In review in METplus-7.0 Development Mar 19, 2026
@georgemccabe georgemccabe requested a review from bikegeek March 19, 2026 17:57
@georgemccabe georgemccabe changed the title Feature #557 line, eclv, equivalance testing bounds, and revision series - plotly to matplotlib Feature #557 line, eclv, equivalance testing bounds, revision series, and contour - plotly to matplotlib Mar 19, 2026
@georgemccabe georgemccabe linked an issue Mar 19, 2026 that may be closed by this pull request
23 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

Status: 🔎 In review

Development

Successfully merging this pull request may close these issues.

Remove plotly: Update contour plot Remove plotly: Update line, eclv, equivalance testing bounds, and revision series

4 participants