René's URL Explorer Experiment


Title: ENH: add shading='nearest' and 'auto' to `pcolormesh` by jklymak · Pull Request #16258 · matplotlib/matplotlib · GitHub

Open Graph Title: ENH: add shading='nearest' and 'auto' to `pcolormesh` by jklymak · Pull Request #16258 · matplotlib/matplotlib

X Title: ENH: add shading='nearest' and 'auto' to `pcolormesh` by jklymak · Pull Request #16258 · matplotlib/matplotlib

Description: PR Summary Redo of #9629. Lots of discussion there. See built example here: https://29535-1385122-gh.circle-artifacts.com/0/home/circleci/project/doc/build/html/gallery/images_contours_and_fields/pcolormesh_grids.html#sphx-glr-gallery-images-contours-and-fields-pcolormesh-grids-py Se new pcolormesh docs here: https://29535-1385122-gh.circle-artifacts.com/0/home/circleci/project/doc/build/html/api/_as_gen/matplotlib.axes.Axes.pcolormesh.html#matplotlib.axes.Axes.pcolormesh Suppose len(x) is N, len(y) is M, and size(C) is M, N. Previously, if shading='flat' then pcolor/mesh would silently drop the last row and column of C and x and y would specify the edges of the colorer quadrilaterals. While compatible with Matlab, this is both arbitrary, and probably not what the user wanted. This PR changes a few related things: if shading='flat' and the dimensions of x, y and C match, a Deprecation Warning is raised the data is no longer silently dropped. A new shading='nearest' is provided that only allows for x, y and C to match, and centers the colors on the grid points. A new shading='auto' is provided that will choose 'flat' or 'nearest' depending on the size of the data. A new rcParam['pcolor.shading'] is provided that defaults to 'flat' (for back compatibility). Demo: import numpy as np import matplotlib.pyplot as plt fig, axs = plt.subplots(3, 2, sharex=True, sharey=True) nx = 4 ny = 5 x = np.arange(nx) y = np.arange(ny) X, Y = np.meshgrid(x, y) np.random.seed(19680808) C = np.random.rand(ny, nx) # deprecation warning: axs[0, 0].pcolormesh(x, y, C, vmin=0, vmax=1, shading='flat') axs[0, 0].scatter(X[:], Y[:], c=C.flat, ec='w') axs[0, 0].set_title('flat: Emits deprecation warning') # no deprecation warning axs[0, 1].pcolormesh(x, y, C[:-1, :-1], vmin=0, vmax=1, shading='flat') axs[0, 1].scatter(X[:], Y[:], c=C.flat, ec='w') axs[0, 1].set_title('flat: No warning') # no deprecation warning axs[1, 0].pcolormesh(x, y, C, shading='nearest', vmin=0, vmax=1) axs[1, 0].scatter(X[:], Y[:], c=C.flat, ec='w') axs[1, 0].set_title('nearest') # no deprecation warning axs[1, 1].pcolormesh(x, y, C, shading='gouraud', vmin=0, vmax=1) axs[1, 1].scatter(X[:], Y[:], c=C.flat, ec='w') axs[1, 1].set_title('gouraud') axs[1, 1].set_xlim([-0.5, 3.5]) axs[1, 1].set_ylim([-0.5, 4.5]) # no deprecation warning: axs[2, 0].pcolormesh(x, y, C, vmin=0, vmax=1, shading='auto') axs[2, 0].scatter(X[:], Y[:], c=C.flat, ec='w') axs[2, 0].set_title('auto: matching size') # no deprecation warning axs[2, 1].pcolormesh(x, y, C[:-1, :-1], vmin=0, vmax=1, shading='auto') axs[2, 1].scatter(X[:], Y[:], c=C.flat, ec='w') axs[2, 1].set_title('auto: c smaller') The first call emits: testpcolormesh.py:17: MatplotlibDeprecationWarning: shading='flat' when X and Y have the same dimensions as C is deprecated since 3.3. Either specify the corners of the quadrilaterals with X and Y, or pass shading='auto', 'nearest' or 'gouraud' or set rcParams['pcolor.shading'] axs[0, 0].pcolormesh(x, y, C, vmin=0, vmax=1, shading='flat') 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 Redo of #9629. Lots of discussion there. See built example here: https://29535-1385122-gh.circle-artifacts.com/0/home/circleci/project/doc/build/html/gallery/images_contours_and_fields/...

X Description: PR Summary Redo of #9629. Lots of discussion there. See built example here: https://29535-1385122-gh.circle-artifacts.com/0/home/circleci/project/doc/build/html/gallery/images_contours_and_fields/...

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

X: @github

direct link

Domain: github.com

route-pattern/:user_id/:repository/pull/:id/files(.:format)
route-controllerpull_requests
route-actionfiles
fetch-noncev2:81f49941-fccf-3957-40c5-d6b0993590c7
current-catalog-service-hashae870bc5e265a340912cde392f23dad3671a0a881730ffdadd82f2f57d81641b
request-id8BFC:333E4B:304A5F8:42653D9:6A54A828
html-safe-nonce18674be274486b057a173ed6431ad875f8e3f020a18bced459a55b0b87ecec8e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4QkZDOjMzM0U0QjozMDRBNUY4OjQyNjUzRDk6NkE1NEE4MjgiLCJ2aXNpdG9yX2lkIjoiMTE3NjMyMjgxMTc5NjY5NTA4MCIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9
visitor-hmacd399897c67ae56b0f0a4f6803d16c43d84e1cee3134fd4b5924a0b453436bbee
hovercard-subject-tagpull_request:364476347
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/16258/files
twitter:imagehttps://avatars.githubusercontent.com/u/1562854?s=400&v=4
twitter:cardsummary_large_image
og:imagehttps://avatars.githubusercontent.com/u/1562854?s=400&v=4
og:image:altPR Summary Redo of #9629. Lots of discussion there. See built example here: https://29535-1385122-gh.circle-artifacts.com/0/home/circleci/project/doc/build/html/gallery/images_contours_and_fields/...
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
releasef8cfff6384f62259baea531c7f58bc7040f8dd92
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/matplotlib/matplotlib/pull/16258/files#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fmatplotlib%2Fmatplotlib%2Fpull%2F16258%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%2F16258%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/16258/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/16258/files
Reloadhttps://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
matplotlib https://github.com/matplotlib
matplotlibhttps://github.com/matplotlib/matplotlib
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/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
anntzerhttps://github.com/anntzer
matplotlib:masterhttps://github.com/matplotlib/matplotlib/tree/master
jklymak:fixpcolor2https://github.com/jklymak/matplotlib/tree/fixpcolor2
Conversation 89 https://github.com/matplotlib/matplotlib/pull/16258
Commits 1 https://github.com/matplotlib/matplotlib/pull/16258/commits
Checks 0 https://github.com/matplotlib/matplotlib/pull/16258/checks
Files changed https://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
ENH: add shading='nearest' and 'auto' to pcolormesh https://github.com/matplotlib/matplotlib/pull/16258/files#top
Show all changes 1 commit https://github.com/matplotlib/matplotlib/pull/16258/files
404fe52 FIX: add shading='nearest' and warn on mis-sized shading='flat' jklymak Feb 9, 2020 https://github.com/matplotlib/matplotlib/pull/16258/commits/404fe52d75887ae9d20e8e211a31cb1fb132143b
Clear filters https://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
2020-01-18-pcolorshadingoptions.rst https://github.com/matplotlib/matplotlib/pull/16258/files#diff-e113b7840edda502fb46ec49b2ef6a418a566fd1836e3b88408d857726367bea
pcolormesh_grids.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-918d00845dbb83f314bc22bc28e583ce76ae7ac67815c91ccb10584495544124
pcolormesh_levels.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-f1b51ac247c088c8cbc50411ef3461fe013731022d960ca7bdeaef26b3feb896
_axes.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-608e2a1bf3d32fd631b0763599a3334d59822c11cb4fec1fa7398c9714592900
colorbar.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-250555d303944dc7fd3b69fe9a14f292f9b715d738a6a0649d7d62a7c8315b05
pyplot.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-d1edb5a528e7423f485b24cac2083d05d365a19352f886bf15af3ef442bdda92
rcsetup.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-cbdeb0e4217c66c0eab3ff5027da14906cb705419722f8269bc9ccaadd2422b1
test_axes.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-ef5144bd27a700deb760ef56ccf51dc6fcfe86723f9ffa84df7f024985bf3ee7
test_colorbar.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-4e87144ecd6481ec6a62c5d63a0598eb1a1514fe1df2631acb62e5d5232b6fc7
test_constrainedlayout.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-c7e8bb9a60399b945f810bbd3179d51e18d6ed2ce99b79ec5497dd9bf479be52
test_transforms.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-9c604e3ebce77d5db7e7eb4a4f92a08a8fab56faa8646ecf952ed0a3ad7a233c
test_axisartist_axislines.py https://github.com/matplotlib/matplotlib/pull/16258/files#diff-07b16192bb43453cd49d39ba678e8706ac66432cba24b403aabf5fb670bcd4db
matplotlibrc.template https://github.com/matplotlib/matplotlib/pull/16258/files#diff-9eaf38a8a7b9d20d5719447762f60b98c69bb8503da6bfa40df69bd2844458cf
doc/users/next_whats_new/2020-01-18-pcolorshadingoptions.rsthttps://github.com/matplotlib/matplotlib/pull/16258/files#diff-e113b7840edda502fb46ec49b2ef6a418a566fd1836e3b88408d857726367bea
View file https://github.com/jklymak/matplotlib/blob/404fe52d75887ae9d20e8e211a31cb1fb132143b/doc/users/next_whats_new/2020-01-18-pcolorshadingoptions.rst
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/16258/{{ revealButtonHref }}
examples/images_contours_and_fields/pcolormesh_grids.pyhttps://github.com/matplotlib/matplotlib/pull/16258/files#diff-918d00845dbb83f314bc22bc28e583ce76ae7ac67815c91ccb10584495544124
View file https://github.com/jklymak/matplotlib/blob/404fe52d75887ae9d20e8e211a31cb1fb132143b/examples/images_contours_and_fields/pcolormesh_grids.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/16258/{{ revealButtonHref }}
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/files
examples/images_contours_and_fields/pcolormesh_levels.pyhttps://github.com/matplotlib/matplotlib/pull/16258/files#diff-f1b51ac247c088c8cbc50411ef3461fe013731022d960ca7bdeaef26b3feb896
View file https://github.com/jklymak/matplotlib/blob/404fe52d75887ae9d20e8e211a31cb1fb132143b/examples/images_contours_and_fields/pcolormesh_levels.py
Open in desktop https://desktop.github.com
https://github.co/hiddenchars
https://github.com/matplotlib/matplotlib/pull/16258/{{ revealButtonHref }}
https://github.com/matplotlib/matplotlib/pull/16258/files#diff-f1b51ac247c088c8cbc50411ef3461fe013731022d960ca7bdeaef26b3feb896
https://github.com/matplotlib/matplotlib/pull/16258/files#diff-f1b51ac247c088c8cbc50411ef3461fe013731022d960ca7bdeaef26b3feb896
https://github.com/matplotlib/matplotlib/pull/16258/files#diff-f1b51ac247c088c8cbc50411ef3461fe013731022d960ca7bdeaef26b3feb896
Please reload this pagehttps://github.com/matplotlib/matplotlib/pull/16258/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.