Title: Define additional/custom hatches · Issue #20690 · matplotlib/matplotlib · GitHub
Open Graph Title: Define additional/custom hatches · Issue #20690 · matplotlib/matplotlib
X Title: Define additional/custom hatches · Issue #20690 · matplotlib/matplotlib
Description: Problem The current set of hatching options within matplotlib is somewhat limited, being only the following, with the ability to make more dense ones. In geoscience (and possibly other fields, but that is my background) there are a numbe...
Open Graph Description: Problem The current set of hatching options within matplotlib is somewhat limited, being only the following, with the ability to make more dense ones. In geoscience (and possibly other fields, but ...
X Description: Problem The current set of hatching options within matplotlib is somewhat limited, being only the following, with the ability to make more dense ones. In geoscience (and possibly other fields, but ...
Opengraph URL: https://github.com/matplotlib/matplotlib/issues/20690
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Define additional/custom hatches","articleBody":"\u003c!--\r\nWelcome! Thanks for thinking of a way to improve Matplotlib.\r\n\r\n\r\nBefore creating a new feature request please search the issues for relevant feature requests.\r\n--\u003e\r\n\r\n### Problem\r\n\r\nThe current set of hatching options within matplotlib is somewhat limited, being only the following, with the ability to make more dense ones.\r\n\r\nIn geoscience (and possibly other fields, but that is my background) there are a number of other hatching patterns that have long historical use and are still common, cf the USGS templates, available as a pdf [here](https://ngmdb.usgs.gov/fgdc_gds/geolsymstd/fgdc-geolsym-patternchart.pdf). Some of these are complex enough to be difficult to generate programmatically (eg 706: contorted schist), while others are much simpler (eg 328-K, which is a grid of offset `+`).\r\n\r\nIs there a means to safely define hatches such the latter? A workaround, adding custom hatches to `_hatch_types` [can be done](https://github.com/agile-geoscience/striplog/blob/0c68f63d645c5bb7a5cc73b9bdaa197c4fb3cc33/striplog/hatches.py) but raises a deprecation warning (`MatplotlibDeprecationWarning: hatch must consist of a string of \"*+-./OX\\ox|\" or None, but found the following invalid values \"p\". Passing invalid values is deprecated since 3.4 and will become an error two minor releases later.`) since PR https://github.com/matplotlib/matplotlib/pull/17926, and is therefore not a stable long-term solution.\r\n\r\n### Proposed Solution\r\n\r\nIt would be good to have a means to define custom hatches in a safe way. In many cases I think it likely to be package maintainers adding the functionality (as `striplog` does) rather than users.\r\n\r\nA less comprehensive solution that would still cover many common use-cases would be to allow for repetitive hatching of a single (user-chosen) symbol. (That is, being able to place a regular grid of `+` or `L` in the way that the current hatches API handles cases like `.` and `o`.)\r\n\r\n### Additional context and prior art\r\n\r\n","author":{"url":"https://github.com/mtb-za","@type":"Person","name":"mtb-za"},"datePublished":"2021-07-20T09:47:44.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":25},"url":"https://github.com/20690/matplotlib/issues/20690"}
| route-pattern | /_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format) |
| route-controller | voltron_issues_fragments |
| route-action | issue_layout |
| fetch-nonce | v2:5fd65342-f136-3a8a-eb09-e8d75dbabdf0 |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | 8EE8:255ABB:10A6AD:16CD70:6A5259E3 |
| html-safe-nonce | 7cf083788bed2ed403f96fbe548e42a70bcaf987bfaa19efe734b62fbeced6dc |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiI4RUU4OjI1NUFCQjoxMEE2QUQ6MTZDRDcwOjZBNTI1OUUzIiwidmlzaXRvcl9pZCI6IjM0MTMzMzk4NTQ4NTUxMDA5MDAiLCJyZWdpb25fZWRnZSI6ImlhZCIsInJlZ2lvbl9yZW5kZXIiOiJpYWQifQ== |
| visitor-hmac | 2b659b295df853a0d42bf8d922a0fb543dc321407cf586fbbc4527c0f18ea539 |
| hovercard-subject-tag | issue:948485932 |
| github-keyboard-shortcuts | repository,issues,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/_view_fragments/issues/show/matplotlib/matplotlib/20690/issue_layout |
| twitter:image | https://opengraph.githubassets.com/93088d4a74875a1db04024b1967240cbf5c5ff716f5a81d458a2a32e90669046/matplotlib/matplotlib/issues/20690 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/93088d4a74875a1db04024b1967240cbf5c5ff716f5a81d458a2a32e90669046/matplotlib/matplotlib/issues/20690 |
| og:image:alt | Problem The current set of hatching options within matplotlib is somewhat limited, being only the following, with the ability to make more dense ones. In geoscience (and possibly other fields, but ... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | mtb-za |
| hostname | github.com |
| expected-hostname | github.com |
| None | b9a586c06a05a7a86fc7e3f4dbd03e42f6869085879aa184aa6369456dbd50fb |
| turbo-cache-control | no-preview |
| 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 |
| disable-turbo | false |
| browser-stats-url | https://api.github.com/_private/browser/stats |
| browser-errors-url | https://api.github.com/_private/browser/errors |
| release | 7aed05249554b889eb33d002851a973eebcc7e91 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width