René's URL Explorer Experiment


Title: layout.grid enhancements for plotly.py to replace make_subplots · Issue #3507 · plotly/plotly.js · GitHub

Open Graph Title: layout.grid enhancements for plotly.py to replace make_subplots · Issue #3507 · plotly/plotly.js

X Title: layout.grid enhancements for plotly.py to replace make_subplots · Issue #3507 · plotly/plotly.js

Description: Background plotly.py has a system for building figures with subplots that predates the plotly.js layout.grid system for subplots. I would like to replace this custom subplot system with layout.grid to reduce complexity inside plotly.py a...

Open Graph Description: Background plotly.py has a system for building figures with subplots that predates the plotly.js layout.grid system for subplots. I would like to replace this custom subplot system with layout.grid...

X Description: Background plotly.py has a system for building figures with subplots that predates the plotly.js layout.grid system for subplots. I would like to replace this custom subplot system with layout.grid...

Opengraph URL: https://github.com/plotly/plotly.js/issues/3507

X: @github

direct link

Domain: github.com


Hey, it has json ld scripts:
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"layout.grid enhancements for plotly.py to replace make_subplots","articleBody":"### Background\r\nplotly.py has a system for building figures with subplots that predates the plotly.js `layout.grid` system for subplots.  I would like to replace this custom subplot system with `layout.grid` to reduce complexity inside plotly.py and add support for all trace types (plotly.py's system only supports Cartesian subplot types).  This transition will also make the integration of `px` into plotly.py much smoother.\r\n\r\n### Needs\r\nAs far as I can tell, there are two features that are implemented in plotly.py's `make_subplots` function that are not supported by layout.grid.  \r\n\r\nThe first two are both demonstrated in this example https://plot.ly/python/subplots/#custom-sized-subplot-with-subplot-titles.\r\n\r\n 1) Spanned subplots:  `make_subplots` allows individual axes to span multiple subplot grid entries\r\n 2) Subplot titles: `make_subplots` has a system for positioning text annotations as titles for individual subplots\r\n 3) column/row widths: `make_subplots` supports `column_width` and `row_width` arrays to support non-uniform widths of the rows and columns in the grid.\r\n 4) insets: `make_subplots` supports the specification of insets.  TBH I'm not really sure how this works and I don't know if there are any examples of this outside of the docstring.  And this might not be something that makes sense to support in `layout.grid`.  Here's the docstring\r\n\r\n```\r\n    insets (kwarg, list of dictionaries):\r\n        Inset specifications.\r\n\r\n        - Each item in 'insets' is a dictionary.\r\n            The available keys are:\r\n\r\n            * cell (tuple, default=(1,1)): (row, col) index of the\r\n                subplot cell to overlay inset axes onto.\r\n            * is_3d (boolean, default=False): flag for 3d scenes\r\n            * l (float, default=0.0): padding left of inset\r\n                  in fraction of cell width\r\n            * w (float or 'to_end', default='to_end') inset width\r\n                  in fraction of cell width ('to_end': to cell right edge)\r\n            * b (float, default=0.0): padding bottom of inset\r\n                  in fraction of cell height\r\n            * h (float or 'to_end', default='to_end') inset height\r\n                  in fraction of cell height ('to_end': to cell top edge)\r\n```\r\n\r\n### API ideas\r\nTo kick things off, here's a idea for a potential plotly.js API\r\n\r\n 1) We could add `layout.grid.rowspan` and `layout.grid.colspan` properties that may optionally be set to 2D arrays of integers.  So the example above would have a a `colspan` property of\r\n\r\n```\r\n[[1, 1],\r\n [2, 0]]\r\n```\r\nwhich would imply a `grid.subplots` property of \r\n```\r\n[['xy'  , 'x2y2'],\r\n ['x3y3', null]]\r\n```\r\n\r\n2) We could add a `grid.titles` property that is a 2D array of title strings.  So the example above would have a `grid.titles` property of\r\n```\r\n[['First Subplot', 'Second Subplot'],\r\n ['Third Subplot' , null]]\r\n```\r\n\r\n3) We could add `grid.widths` and `grid.heights` properties that would be 1D arrays of numbers.  We could internally normalize each array and use the elements to determine the width/height of each column/row.\r\n\r\ncc @nicolaskruchten ","author":{"url":"https://github.com/jonmmease","@type":"Person","name":"jonmmease"},"datePublished":"2019-02-02T13:52:08.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":5},"url":"https://github.com/3507/plotly.js/issues/3507"}

route-pattern/_view_fragments/issues/show/:user_id/:repository/:id/issue_layout(.:format)
route-controllervoltron_issues_fragments
route-actionissue_layout
fetch-noncev2:47f24f5b-4e8a-44d0-ee81-cb30f2635c8e
current-catalog-service-hash81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114
request-idA900:5B712:49323B:677CC9:6A57865B
html-safe-noncec6c5b610eaf657c7048c6d037cc55d03232f0cc972b915c677941757210eab8d
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBOTAwOjVCNzEyOjQ5MzIzQjo2NzdDQzk6NkE1Nzg2NUIiLCJ2aXNpdG9yX2lkIjoiOTc1MDkzNDAyMDIxODg5NjI3IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac001bf44c0b7d56a9a6ff75fcb3438589d2fb5419ed94d792d064811997ea8fb1
hovercard-subject-tagissue:405984895
github-keyboard-shortcutsrepository,issues,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location///voltron/issues_fragments/issue_layout
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/_view_fragments/issues/show/plotly/plotly.js/3507/issue_layout
twitter:imagehttps://opengraph.githubassets.com/978fb5f4d1b219a0c8e056f4638cc05dcb5e7afb44890d58a421e9f3cfd46b92/plotly/plotly.js/issues/3507
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/978fb5f4d1b219a0c8e056f4638cc05dcb5e7afb44890d58a421e9f3cfd46b92/plotly/plotly.js/issues/3507
og:image:altBackground plotly.py has a system for building figures with subplots that predates the plotly.js layout.grid system for subplots. I would like to replace this custom subplot system with layout.grid...
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
og:author:usernamejonmmease
hostnamegithub.com
expected-hostnamegithub.com
Nonec6353e56e94423c9cd5abde7708a859afa36a0c1203c73749055bf6ee6704cd0
turbo-cache-controlno-preview
go-importgithub.com/plotly/plotly.js git https://github.com/plotly/plotly.js.git
octolytics-dimension-user_id5997976
octolytics-dimension-user_loginplotly
octolytics-dimension-repository_id45646037
octolytics-dimension-repository_nwoplotly/plotly.js
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id45646037
octolytics-dimension-repository_network_root_nwoplotly/plotly.js
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
releasef59ab1c46b638204e2aea09126d089be5dc773b7
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://github.com/plotly/plotly.js/issues/3507#start-of-content
https://github.com/
Sign in https://github.com/login?return_to=https%3A%2F%2Fgithub.com%2Fplotly%2Fplotly.js%2Fissues%2F3507
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%2Fplotly%2Fplotly.js%2Fissues%2F3507
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%2Fvoltron%2Fissues_fragments%2Fissue_layout&source=header-repo&source_repo=plotly%2Fplotly.js
Reloadhttps://github.com/plotly/plotly.js/issues/3507
Reloadhttps://github.com/plotly/plotly.js/issues/3507
Reloadhttps://github.com/plotly/plotly.js/issues/3507
Please reload this pagehttps://github.com/plotly/plotly.js/issues/3507
plotly https://github.com/plotly
plotly.jshttps://github.com/plotly/plotly.js
Please reload this pagehttps://github.com/plotly/plotly.js/issues/3507
Notifications https://github.com/login?return_to=%2Fplotly%2Fplotly.js
Fork 2k https://github.com/login?return_to=%2Fplotly%2Fplotly.js
Star 18.3k https://github.com/login?return_to=%2Fplotly%2Fplotly.js
Code https://github.com/plotly/plotly.js
Issues 772 https://github.com/plotly/plotly.js/issues
Pull requests 59 https://github.com/plotly/plotly.js/pulls
Actions https://github.com/plotly/plotly.js/actions
Security and quality 0 https://github.com/plotly/plotly.js/security
Insights https://github.com/plotly/plotly.js/pulse
Code https://github.com/plotly/plotly.js
Issues https://github.com/plotly/plotly.js/issues
Pull requests https://github.com/plotly/plotly.js/pulls
Actions https://github.com/plotly/plotly.js/actions
Security and quality https://github.com/plotly/plotly.js/security
Insights https://github.com/plotly/plotly.js/pulse
layout.grid enhancements for plotly.py to replace make_subplotshttps://github.com/plotly/plotly.js/issues/3507#top
featuresomething newhttps://github.com/plotly/plotly.js/issues?q=state%3Aopen%20label%3A%22feature%22
https://github.com/jonmmease
jonmmeasehttps://github.com/jonmmease
on Feb 2, 2019https://github.com/plotly/plotly.js/issues/3507#issue-405984895
https://plot.ly/python/subplots/#custom-sized-subplot-with-subplot-titleshttps://plot.ly/python/subplots/#custom-sized-subplot-with-subplot-titles
@nicolaskruchtenhttps://github.com/nicolaskruchten
featuresomething newhttps://github.com/plotly/plotly.js/issues?q=state%3Aopen%20label%3A%22feature%22
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.