Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Warnings raised by underlying seaborn and numpy libraries #425

Conversation

jxnior01
Copy link
Contributor

@jxnior01 jxnior01 commented Jul 6, 2023

Closes #357

Summary of Changes

  • Python's warnings module now ignores warnings caused by underlying seaborn and numpy libraries.

…h in code and test. `addopts = -p no:warnings` was used to get warning message
@jxnior01 jxnior01 requested a review from a team as a code owner July 6, 2023 13:26
@jxnior01 jxnior01 linked an issue Jul 6, 2023 that may be closed by this pull request
@github-actions
Copy link
Contributor

github-actions bot commented Jul 6, 2023

🦙 MegaLinter status: ✅ SUCCESS

Descriptor Linter Files Fixed Errors Elapsed time
✅ PYTHON black 3 0 0 0.86s
✅ PYTHON mypy 3 0 1.92s
✅ PYTHON ruff 3 0 0 0.09s
✅ REPOSITORY git_diff yes no 0.06s

See detailed report in MegaLinter reports
Set VALIDATE_ALL_CODEBASE: true in mega-linter.yml to validate all sources, not only the diff

MegaLinter is graciously provided by OX Security

@codecov
Copy link

codecov bot commented Jul 6, 2023

Codecov Report

Merging #425 (9a0186e) into main (ada934c) will not change coverage.
The diff coverage is 100.00%.

@@            Coverage Diff            @@
##              main      #425   +/-   ##
=========================================
  Coverage   100.00%   100.00%           
=========================================
  Files           49        49           
  Lines         2676      2683    +7     
=========================================
+ Hits          2676      2683    +7     
Impacted Files Coverage Δ
src/safeds/data/tabular/containers/_table.py 100.00% <100.00%> (ø)

@zzril
Copy link
Contributor

zzril commented Jul 6, 2023

Looks good to me.


Generally, it would be good to understand what originally caused the warnings, though.

Maybe someone with a better knowledge of numpy and matplotlib should have a look at this and make sure we're not missing a better way to implement the parts that raised the warnings?
@lars-reimann @Marsmaennchen221

@jxnior01
Copy link
Contributor Author

jxnior01 commented Jul 6, 2023

Looks good to me, aside from the redundancy.

Generally, it would be good to understand what originally caused the warnings, though.

I think the warning message is raised by the sns.heatmap() function from the seaborn library. It indicates that when it attempts to set identical low and high values for the x-axis (xlims) or y-axis (ylims) limits, it can result in a singular transformation. This is why seaborn automatically expands the limits to avoid this issue.

@Marsmaennchen221
Copy link
Contributor

Marsmaennchen221 commented Jul 6, 2023

As far as I understand the warning in Table.plot_correlation_heatmap is only raised if you use an empty table. Maybe it would be better to catch the warning only if the user tries to use this function on an empty table and raise a new warning that informs the user that a correlation heatmap on an empty table will show nothing.

Copy link
Contributor

@patrikguempel patrikguempel left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@jxnior01 jxnior01 dismissed patrikguempel’s stale review July 7, 2023 17:47

Reviewer cancelled review.

@Marsmaennchen221 Marsmaennchen221 enabled auto-merge (squash) July 13, 2023 19:06
@Marsmaennchen221 Marsmaennchen221 merged commit c4143af into main Jul 13, 2023
@Marsmaennchen221 Marsmaennchen221 deleted the 357-warnings-raised-by-underlying-seaborn-and-numpy-libraries branch July 13, 2023 19:19
lars-reimann pushed a commit that referenced this pull request Jul 13, 2023
## [0.15.0](v0.14.0...v0.15.0) (2023-07-13)

### Features

* Add copy method for tables ([#405](#405)) ([72e87f0](72e87f0)), closes [#275](#275)
* add gaussian noise to image ([#430](#430)) ([925a505](925a505)), closes [#381](#381)
* add schema conversions when adding new rows to a table and schema conversion when creating a new table ([#432](#432)) ([6e9ff69](6e9ff69)), closes [#404](#404) [#322](#322) [#127](#127) [#322](#322) [#127](#127)
* add test for empty tables for the method `Table.sort_rows` ([#431](#431)) ([f94b768](f94b768)), closes [#402](#402)
* added color adjustment feature ([#409](#409)) ([2cbee36](2cbee36)), closes [#380](#380)
* added test_repr table tests ([#410](#410)) ([cb77790](cb77790)), closes [#349](#349)
* discretize table ([#327](#327)) ([5e3da8d](5e3da8d)), closes [#143](#143)
* Improve error handling of TaggedTable ([#450](#450)) ([c5da544](c5da544)), closes [#150](#150)
* Maintain tagging in methods inherited from `Table` class ([#332](#332)) ([bc73a6c](bc73a6c)), closes [#58](#58)
* new error class `OutOfBoundsError` ([#438](#438)) ([1f37e4a](1f37e4a)), closes [#262](#262)
* rename several `Table` methods for consistency ([#445](#445)) ([9954986](9954986)), closes [#439](#439)
* suggest similar columns if column gets accessed that doesnt exist ([#385](#385)) ([6a097a4](6a097a4)), closes [#203](#203)

### Bug Fixes

* added the missing ids in parameterized tests ([#412](#412)) ([dab6419](dab6419)), closes [#362](#362)
* don't warn if `Imputer` transforms column without missing values ([#448](#448)) ([f0cb6a5](f0cb6a5))
* Warnings raised by underlying seaborn and numpy libraries  ([#425](#425)) ([c4143af](c4143af)), closes [#357](#357)
@lars-reimann
Copy link
Member

🎉 This PR is included in version 0.15.0 🎉

The release is available on:

Your semantic-release bot 📦🚀

@lars-reimann lars-reimann added the released Included in a release label Jul 13, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
released Included in a release
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Warnings raised by underlying seaborn and numpy libraries
6 participants