Title: Changing the symlog function to use arcsinh(x/2). by greglucas · Pull Request #16639 · matplotlib/matplotlib · GitHub
Open Graph Title: Changing the symlog function to use arcsinh(x/2). by greglucas · Pull Request #16639 · matplotlib/matplotlib
X Title: Changing the symlog function to use arcsinh(x/2). by greglucas · Pull Request #16639 · matplotlib/matplotlib
Description: PR Summary Changing the SymLogTransform math function to be f(x) = arcsinh(x/2) = ln(x/2 + sqrt(x/2 + 1)) Reasoning: This has a well-defined mathematical function over the entire real number line and a simple inverse. It was mentioned elsewhere that most people using SymLog are using it in a qualitative sense (myself included), and this allows for a nice qualitative plot, along with a reproducible mathematical function underlying it if you want to reproduce the data. This is a follow-on to a lot of the recent discussion about SymLog changes. See: #16280, #16376, #16391, #16392 I have only updated the SymLogTransform here because of #16457 which I think is the right way to build Norm's, which will inherently change SymLogNorm if it gets put in. This will then allow one place for all of the SymLog math to be consistent. Before going too far down the path of updating everything, I wanted to push this up and get feedback on whether people think this is a good idea to change the underlying function or not. Pinging @dstansby, @jklymak since you two have been doing most of the recent updates with the SymLog work. Implications It removes the linscale argument that allows stretching/shrinking the linear region. There is a smooth transition region where the function is neither linear nor logarithmic. Deprecations may get a little messy due to the other SymLog changes taking place in the various versions. TODOs Update deprecation and warnings Update documentation and API changes Update test_scales SymLog figures PR Checklist Has Pytest style unit tests Code is Flake 8 compliant New features are documented, with examples if plot related Documentation is sphinx and numpydoc compliant Added an entry to doc/users/next_whats_new/ if major new feature (follow instructions in README.rst there) Documented in doc/api/api_changes.rst if API changed in a backward-incompatible way
Open Graph Description: PR Summary Changing the SymLogTransform math function to be f(x) = arcsinh(x/2) = ln(x/2 + sqrt(x/2 + 1)) Reasoning: This has a well-defined mathematical function over the entire real number line a...
X Description: PR Summary Changing the SymLogTransform math function to be f(x) = arcsinh(x/2) = ln(x/2 + sqrt(x/2 + 1)) Reasoning: This has a well-defined mathematical function over the entire real number line a...
Opengraph URL: https://github.com/matplotlib/matplotlib/pull/16639
X: @github
Domain: github.com
| route-pattern | /:user_id/:repository/pull/:id/files(.:format) |
| route-controller | pull_requests |
| route-action | files |
| fetch-nonce | v2:e39ffdf7-69f0-066f-8d50-c9f65130fe7e |
| current-catalog-service-hash | ae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b |
| request-id | 89FA:245004:10781B7:180A683:6A560DBB |
| html-safe-nonce | 82259ea1b894fe5c470f8eaa8fc34d1725a6cb78edc718bdf55ded71be3c1037 |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4OUZBOjI0NTAwNDoxMDc4MUI3OjE4MEE2ODM6NkE1NjBEQkIiLCJ2aXNpdG9yX2lkIjoiODIzNTI1MjY1OTcyMjI1OTg5OSIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 3a38e1956a361a492f31d1a9bd3027b7cfd3b5fd71771a147aa0d0d134840e6e |
| hovercard-subject-tag | pull_request:382723593 |
| github-keyboard-shortcuts | repository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot |
| google-site-verification | Apib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I |
| octolytics-url | https://collector.github.com/github/collect |
| analytics-location | / |
| fb:app_id | 1401488693436528 |
| apple-itunes-app | app-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/16639/files |
| twitter:image | https://avatars.githubusercontent.com/u/12417828?s=400&v=4 |
| twitter:card | summary_large_image |
| og:image | https://avatars.githubusercontent.com/u/12417828?s=400&v=4 |
| og:image:alt | PR Summary Changing the SymLogTransform math function to be f(x) = arcsinh(x/2) = ln(x/2 + sqrt(x/2 + 1)) Reasoning: This has a well-defined mathematical function over the entire real number line a... |
| og:site_name | GitHub |
| og:type | object |
| hostname | github.com |
| expected-hostname | github.com |
| None | f4368738fc918fecd9b3958f6b49218bbe60d4185f38e72e3954e11f1ad0213a |
| turbo-cache-control | no-preview |
| diff-view | unified |
| go-import | github.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git |
| octolytics-dimension-user_id | 215947 |
| octolytics-dimension-user_login | matplotlib |
| octolytics-dimension-repository_id | 1385122 |
| octolytics-dimension-repository_nwo | matplotlib/matplotlib |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 1385122 |
| octolytics-dimension-repository_network_root_nwo | matplotlib/matplotlib |
| turbo-body-classes | logged-out env-production page-responsive full-width |
| disable-turbo | true |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 85a7179838b41e8b23f939d3b67b53f752ecfc54 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width