René's URL Explorer Experiment


Title: Add errorbars to mplot3d by vlas-sokolov · Pull Request #8031 · matplotlib/matplotlib · GitHub

Open Graph Title: Add errorbars to mplot3d by vlas-sokolov · Pull Request #8031 · matplotlib/matplotlib

X Title: Add errorbars to mplot3d by vlas-sokolov · Pull Request #8031 · matplotlib/matplotlib

Description: Motivated by the 'new-contributor-friendly' and 'wishlist' tags in #568, and having once asked this question on SO, this PR mimics the errorbar functionality present in the standard lib into mplot3d. For a demonstration, I have rewritten a short snippet from here into and put in on Gist. It generates the figures below: The new function was rewritten from its 2D counterpart. I aimed to follow the old structure as close as possible, and I think that most of the optional keywords have been successfully ported. One issue that I'd like to get input in is the use of markers in error bar caps and (especially) limit symbols. The markers tend to rotate along with the camera position, and a 180 degree rotation along one of the axes may flip the markers into a rather confusing plot. What should be done with this? Is there a framework for projecting the markers in mplot3d? As I'm a new contributor and might have missed some subtleties in the implementation, any feedback is highly appreciated!

Open Graph Description: Motivated by the 'new-contributor-friendly' and 'wishlist' tags in #568, and having once asked this question on SO, this PR mimics the errorbar functionality present in the standard...

X Description: Motivated by the 'new-contributor-friendly' and 'wishlist' tags in #568, and having once asked this question on SO, this PR mimics the errorbar functionality present...

Opengraph URL: https://github.com/matplotlib/matplotlib/pull/8031

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:c32ad3f5-78b8-6a55-417b-89204aed3b41
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id878A:33E60B:2742B88:35AD586:6A53AED8
html-safe-nonced4d49bd2f0685a6628cdd3f2e3bb126d17ebbe142bf94c5375d9609c52c1a8c5
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4NzhBOjMzRTYwQjoyNzQyQjg4OjM1QUQ1ODY6NkE1M0FFRDgiLCJ2aXNpdG9yX2lkIjoiNzgzMTU4NDMwMzI0MjA3MzIwIiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac606dc26c3733a10edd6681ccc63d6175395b8e0f96e4ad5684960d12b835a797
hovercard-subject-tagpull_request:104816990
github-keyboard-shortcutsrepository,pull-request-list,pull-request-conversation,pull-request-files-changed,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///pull_requests/show/files
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/matplotlib/matplotlib/pull/8031/files
twitter:imagehttps://avatars.githubusercontent.com/u/11835115?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/11835115?s=400&v=4
og:image:altMotivated by the 'new-contributor-friendly' and 'wishlist' tags in #568, and having once asked this question on SO, this PR mimics the errorbar functionality present in the standard...
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
Noneb9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb
turbo-cache-controlno-preview
diff-viewunified
go-importgithub.com/matplotlib/matplotlib git https://github.com/matplotlib/matplotlib.git
octolytics-dimension-user_id215947
octolytics-dimension-user_loginmatplotlib
octolytics-dimension-repository_id1385122
octolytics-dimension-repository_nwomatplotlib/matplotlib
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id1385122
octolytics-dimension-repository_network_root_nwomatplotlib/matplotlib
turbo-body-classeslogged-out env-production page-responsive full-width
disable-turbotrue
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release07a982c1d40157c619b364352b704c3ce66bb332
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/8031/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F8031%2Ffiles
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub Copilot appDirect agents from issue to mergehttps://github.com/features/ai/github-app
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
View all resourceshttps://github.com/resources
GitHub SponsorsFund open source developershttps://github.com/open-source/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/open-source/accelerator
GitHub Starshttps://stars.github.com
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/enterprise/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F8031%2Ffiles
Sign up https://github.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E%2Fpull_requests%2Fshow%2Ffiles&source=header-repo&source_repo=matplotlib%2Fmatplotlib
Reloadhttps://github.com/matplotlib/matplotlib/pull/8031/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/8031/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/8031/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
Notifications https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Fork 8.4k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Star 23k https://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib
Code https://github.com/matplotlib/matplotlib
Issues 1.1k https://github.com/matplotlib/matplotlib/issues
Pull requests 408 https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality 0 https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Code https://github.com/matplotlib/matplotlib
Issues https://github.com/matplotlib/matplotlib/issues
Pull requests https://github.com/matplotlib/matplotlib/pulls
Actions https://github.com/matplotlib/matplotlib/actions
Projects https://github.com/matplotlib/matplotlib/projects
Wiki https://github.com/matplotlib/matplotlib/wiki
Security and quality https://github.com/matplotlib/matplotlib/security
Insights https://github.com/matplotlib/matplotlib/pulse
Sign up for GitHub https://github.com/signup?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
terms of servicehttps://docs.github.com/terms
privacy statementhttps://docs.github.com/privacy
Sign inhttps://github.com/login?return_to=%2Fmatplotlib%2Fmatplotlib%2Fissues%2Fnew%2Fchoose
jklymakhttps://github.com/jklymak
matplotlib:masterhttps://github.com/matplotlib/matplotlib/tree/master
vlas-sokolov:errorbars-mplot3dhttps://github.com/vlas-sokolov/matplotlib/tree/errorbars-mplot3d
Conversation 62 https://github.com/matplotlib/matplotlib/pull/8031
Commits 36 https://github.com/matplotlib/matplotlib/pull/8031/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/8031/checks
Files changed https://github.com/matplotlib/matplotlib/pull/8031/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
Add errorbars to mplot3d https://github.com/matplotlib/matplotlib/pull/8031/files#top
Show all changes 36 commits https://github.com/matplotlib/matplotlib/pull/8031/files
66cbdf6 add minimal errorbar3d method to Axes3D vlas-sokolov Jan 3, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/66cbdf60046f6f1b6911988dce1073f33361181a
d8e4d57 for now it's wiser to rely on LineCollection styling vlas-sokolov Jan 3, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/d8e4d578f001cbea2990cf3ed49a42bee86370d4
2d32dfe type in autorange vlas-sokolov Jan 3, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/2d32dfe9f7f4ac572ac335066d309a56fb1090d2
8e66193 fix for auto-scaling NaN values vlas-sokolov Jan 4, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/8e661932e6951a889a509e08729d8534df819fd8
d377942 add caplines vlas-sokolov Jan 5, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/d3779428cbf2c93925065434349ba2cce8fda9f1
9b1de1f add barsabove option; refactor plotting kwargs vlas-sokolov Jan 5, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/9b1de1fcab3c02d6f3e49ee0bb932ce8535752fd
c7fc68a fix for missing zorder in kwargs vlas-sokolov Jan 5, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/c7fc68a76d4356425e98b82a234eeec078a06cb3
ef5699c add upper/lower limits vlas-sokolov Feb 6, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/ef5699cd10e7ed0afa9cb395ed3078bc9ee99c35
d4f67c2 add extended formatting from the 2d case; clean-up vlas-sokolov Feb 6, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/d4f67c21444a72a80ca96509555df6306c8e1d3e
3b3e5d4 pep8 edits vlas-sokolov Feb 6, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/3b3e5d46e6ecd6260f8966b18914aba300a13fc5
6889a3d fix errorevery; return a container of sorts vlas-sokolov Feb 7, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/6889a3dbf27b837f86aa0b54854a2068837c213a
20f0caf allow offsets for errorevery vlas-sokolov Feb 7, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/20f0caf04731ceb322635e83bf7a50fa8eb7d2ce
cd63593 arrrr pep8 again vlas-sokolov Feb 7, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/cd635933955c10b6b10b9f3d21832d3e73dc8466
fb2d200 docstring edits vlas-sokolov Feb 9, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/fb2d200cc335c437e855fe52c53fdfd1a9d3d48f
74f5209 add example; update what's new section vlas-sokolov Feb 9, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/74f5209b2393624126a5ddbe1174a8f9f9f0f03e
82dec2b please just squash everything - I can't pep8 properly vlas-sokolov Feb 9, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/82dec2b757e25de93cecb5d933bff0ee3d0b5fcb
c570c69 vim adds a newline behind the scenes already vlas-sokolov Feb 9, 2017 https://github.com/matplotlib/matplotlib/pull/8031/commits/c570c69a5cca312c44d0df5bb35c301c5fce99d2
c30c276 rebase against current master + fix dropped deprecations Apr 16, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/c30c276a7a95fe83045410a4e434fd3d3c93f900
f5ef8bd fix compatibility issues with 2d errorbar version (WIP) Apr 17, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/f5ef8bd24e00a9051a45f5eb07db0ceb268fa5b7
c3fa542 fix flake8 warnings, mirror naming/docstring style of other examples Apr 22, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/c3fa54282c7132c793b15da2583c3e23c0ff9d98
b86260a fix failing sphinx docs Apr 23, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/b86260ad09ffc57aa62505cb3d94c4f8b3ef3755
45cbc81 add an image comparison unit test for 3d errorbars Apr 24, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/45cbc81078b2def5ddbf4382bf25239a8298e012
42c1d27 errline gets drawn when both limits are set (compat. reasons) Apr 30, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/42c1d2715ed3e9846cec7a2a68120522a2d25db5
5969893 refactor to use art3d.get_dir_vector instead of np.roll May 1, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/5969893dd494427174d6663af8197e5a44fb03ff
26a4226 adapt 2d errorbar containers for legend handling May 6, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/26a422640e6b99a01ad53dd687e8abfcf579e3a5
c8f1161 need to consider everymask for altering upper=lower limits May 6, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/c8f11614b42f6d75da43f30975341b9111563f60
e18713a switch to plt.quiver for drawling arrows May 13, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/e18713a3ee3518db4c753e7427bb386062390c72
159b6b5 refactor numpy array handling May 13, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/159b6b5d35d4bb22be88148676381d999ad884aa
5db6976 allow for (2, N)-shaped errorbar input + small numpy refactors May 13, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/5db6976812a2ac7ed204b70ac18c818246bfeec7
3c7c0de add numpy refactor as per PR suggestion vlas-sokolov May 14, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/3c7c0de7524d7264b02dcd303a6c6a00cb06572c
3a99be8 add numpy refactror for errorbar3d example vlas-sokolov May 20, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/3a99be8630f37b57c004b7e4da37006b34dd84bf
1a6f58a add numpy refactor for errorbar3d unit test May 20, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/1a6f58a731893cc53d334213529c71c5169a3663
05f4776 Merge branch 'master' into errorbars-mplot3d vlas-sokolov Jun 10, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/05f4776f4fe9db4f1f8a798209dc3ab28672a4fa
0d8c3e3 port most of the changes done in #15037 for 2d errorbars Jun 18, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/0d8c3e34d3c658aa1630c37832c18e1f6333775e
93c9de5 Apply suggestions from code review vlas-sokolov Jul 26, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/93c9de562fcf55b021fb05698df16695f46fcca6
1c73204 fix more pr comments Jul 29, 2020 https://github.com/matplotlib/matplotlib/pull/8031/commits/1c732042173565b72025d6306697e21a62667a0c
Clear filters https://github.com/matplotlib/matplotlib/pull/8031/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
errorbars_3d.rst https://github.com/matplotlib/matplotlib/pull/8031/files#diff-4aa2dee5ca0438dc765df90546896ecebe8e5d3b58ba4c46028a13ba8633007e
errorbar3d.py https://github.com/matplotlib/matplotlib/pull/8031/files#diff-daf41fa3a39ddfeb333c98a9378055ddd507ad632508010802cea635c4ece02d
axes3d.py https://github.com/matplotlib/matplotlib/pull/8031/files#diff-a67656224bfb26dc6de0a0f89e398cd6999377d1482aca3e867ee550ff05be57
errorbar3d.png https://github.com/matplotlib/matplotlib/pull/8031/files#diff-bb78fb568c6a507cb894ab056289d79949adc1234b6f714be34eda4871b369ec
errorbar3d_errorevery.png https://github.com/matplotlib/matplotlib/pull/8031/files#diff-90e93b516db1c96fedf4887c2e72576fc8f5f2896296b2ce20ad4ef028aca173
test_mplot3d.py https://github.com/matplotlib/matplotlib/pull/8031/files#diff-92e80a964dd888ffff51f54d8acd8189c645c989d947d9819d5c46b213f60ad4
doc/users/whats_new/errorbars_3d.rsthttps://github.com/matplotlib/matplotlib/pull/8031/files#diff-4aa2dee5ca0438dc765df90546896ecebe8e5d3b58ba4c46028a13ba8633007e
View file https://github.com/vlas-sokolov/matplotlib/blob/1c732042173565b72025d6306697e21a62667a0c/doc/users/whats_new/errorbars_3d.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/8031/{{ revealButtonHref }}
examples/mplot3d/errorbar3d.pyhttps://github.com/matplotlib/matplotlib/pull/8031/files#diff-daf41fa3a39ddfeb333c98a9378055ddd507ad632508010802cea635c4ece02d
View file https://github.com/vlas-sokolov/matplotlib/blob/1c732042173565b72025d6306697e21a62667a0c/examples/mplot3d/errorbar3d.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/8031/{{ revealButtonHref }}
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/8031/files
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.