Title: Version 4 discussion · Issue #1420 · plotly/plotly.py · GitHub
Open Graph Title: Version 4 discussion · Issue #1420 · plotly/plotly.py
X Title: Version 4 discussion · Issue #1420 · plotly/plotly.py
Description: Overview This is an issue for discussing what we'd like to work towards in a future version 4, mostly focusing on changes that would not be backwards compatible. Nothing here is set in stone and feedback is welcome. Theming Lets make the...
Open Graph Description: Overview This is an issue for discussing what we'd like to work towards in a future version 4, mostly focusing on changes that would not be backwards compatible. Nothing here is set in stone and fe...
X Description: Overview This is an issue for discussing what we'd like to work towards in a future version 4, mostly focusing on changes that would not be backwards compatible. Nothing here is set in stone an...
Opengraph URL: https://github.com/plotly/plotly.py/issues/1420
X: @github
Domain: github.com
{"@context":"https://schema.org","@type":"DiscussionForumPosting","headline":"Version 4 discussion","articleBody":"## Overview\r\nThis is an issue for discussing what we'd like to work towards in a future version 4, mostly focusing on changes that would not be backwards compatible. Nothing here is set in stone and feedback is welcome.\r\n\r\n### Theming\r\nLets make the defualt theme be `plotly` or `plotly_white` (https://github.com/plotly/plotly.py/pull/1224)\r\n\r\n### Integrate `px`\r\nIntegrate the `px` project for exploratory data analysis directly into plotly.py (https://github.com/plotly/px)\r\n\r\n### Redo subplot support\r\nThere are a bunch of [outstanding issues](https://github.com/plotly/plotly.py/issues?q=is%3Aopen+is%3Aissue+label%3Amake_subplots) with the `make_subplots` function. The most significant limitation being that it doesn't support non-Cartesian subplot types.\r\n\r\nLast year, plotly.js introduced its own subplot layout system (`layout.grid`) so we could build the new subplot system on top of that (See https://github.com/plotly/plotly.js/issues/3507 ). Hopefully we could still support the `make_subplots` API, but give most of the work to plotly.js\r\n\r\nI would also like to add support for accessing traces by subplot. Something like\r\n`figure.get_traces(row=2, col=1)`. This would allow users to construct an initial figure using `px`, and then easily grab particular traces to customize using `.update` or property assignment syntax. See https://github.com/plotly/plotly.py/issues/1484.\r\n\r\n### Self displaying figures\r\nI would like to allow `go.Figure` to display itself as a plotly.js figure when used in an ipython context. We have a prototype of this in `px` with `FigurePx`\r\n\r\nhttps://github.com/plotly/px/blob/610910fd5f167de2482b01753db13cd0bd01c171/plotly_express/_px.py#L22-L33\r\n\r\nI would like to extend this a bit so that it's possible to use a global setting to configure how `go.Figure` should display itself. `FigurePx` is using the `init_notebook_mode`/`iplot` approach, but I'd also like to support a static image display (using orca) that would be suitable for use in QtConsole/Spyder and for PDF export.\r\n\r\nThese changes would not affect `FigureWidget`. `FigureWidget` will remain a separate class that is distinct from `go.Figure` in that is is a widget subclass and supports updating properties in place.\r\n\r\n### Convert offline html export to `plotly.io` module\r\nReplace the `plotly.offline.plot` function with functions in the `plotly.io` module (https://github.com/plotly/plotly.py/issues/1098)\r\n\r\n### Split off choropleth figure factory into a separate package\r\nSplitting the county choropleth figure factories into a separate package would help a lot with reducing the plotly.py package size. Then we could add additional shape files to that geo-plotly package to support different geographic regions.\r\n\r\n### Split off `plotly.plotly` chart-studio integration into a separate package\r\nSplit off the functionality in `plotly.plotly` into a separate package called `chart_studio`. This will make it easier for people to understand that you can use plotly.py totally offline and without an account. Everything in the `plotly` package would be offline, and the chart_studio integration is in the `chart_studio` package.\r\n\r\nAlong with the change to make figures self-displaying and to move the html output to `plotly.io`, this would mean that users would no longer need to figure out the `online`/`offline` distinction. The plotly.py package just is offline, and you don't need to say offline anywhere to use it that way.\r\n\r\n### Documentation\r\nIf not before, documentation should be updated to remove use of `iplot` and allow figures to display themselves in \"offline\" mode (https://github.com/plotly/documentation/issues/992)\r\n\r\nAlso, before the v3 to v4 jump we should finish working out how to version the documentation so that the version 3 docs can remain active alongside the version 4 docs.\r\n\r\ncc @nicolaskruchten @jackparmer @chriddyp \r\n\r\n","author":{"url":"https://github.com/jonmmease","@type":"Person","name":"jonmmease"},"datePublished":"2019-02-02T14:42:36.000Z","interactionStatistic":{"@type":"InteractionCounter","interactionType":"https://schema.org/CommentAction","userInteractionCount":7},"url":"https://github.com/1420/plotly.py/issues/1420"}
| 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:fe15712c-fa8a-7227-e06d-809e84e55a6b |
| current-catalog-service-hash | 81bb79d38c15960b92d99bca9288a9108c7a47b18f2423d0f6438c5b7bcd2114 |
| request-id | B3D4:3D0DAC:677E0AA:9213C1C:6A5760C9 |
| html-safe-nonce | 3d677bd63267d730d1ac850926f33a014e6c5c12fbb290699240b4036e92852c |
| visitor-payload | eyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJCM0Q0OjNEMERBQzo2NzdFMEFBOjkyMTNDMUM6NkE1NzYwQzkiLCJ2aXNpdG9yX2lkIjoiNTE2NzY5MDU5MDYwODM4NDIwMiIsInJlZ2lvbl9lZGdlIjoiaWFkIiwicmVnaW9uX3JlbmRlciI6ImlhZCJ9 |
| visitor-hmac | 99f09840cfbae8ecff523043256df1893e840b6e6555c1079cd9001a370a2ad1 |
| hovercard-subject-tag | issue:405988781 |
| 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/plotly/plotly.py/1420/issue_layout |
| twitter:image | https://opengraph.githubassets.com/1a6bfcd3c1bdf581ba633727cc3ad9f90e28b2ea4a30eef8bf9444e98b3ed20a/plotly/plotly.py/issues/1420 |
| twitter:card | summary_large_image |
| og:image | https://opengraph.githubassets.com/1a6bfcd3c1bdf581ba633727cc3ad9f90e28b2ea4a30eef8bf9444e98b3ed20a/plotly/plotly.py/issues/1420 |
| og:image:alt | Overview This is an issue for discussing what we'd like to work towards in a future version 4, mostly focusing on changes that would not be backwards compatible. Nothing here is set in stone and fe... |
| og:image:width | 1200 |
| og:image:height | 600 |
| og:site_name | GitHub |
| og:type | object |
| og:author:username | jonmmease |
| hostname | github.com |
| expected-hostname | github.com |
| None | 4e7a7296a3830877cf21a6ad2a972c9e618a48915e03966cf0c53eb08e5aad98 |
| turbo-cache-control | no-preview |
| go-import | github.com/plotly/plotly.py git https://github.com/plotly/plotly.py.git |
| octolytics-dimension-user_id | 5997976 |
| octolytics-dimension-user_login | plotly |
| octolytics-dimension-repository_id | 14579099 |
| octolytics-dimension-repository_nwo | plotly/plotly.py |
| octolytics-dimension-repository_public | true |
| octolytics-dimension-repository_is_fork | false |
| octolytics-dimension-repository_network_root_id | 14579099 |
| octolytics-dimension-repository_network_root_nwo | plotly/plotly.py |
| 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 | 87685a1c739dbf97e95760413799bb0221799457 |
| ui-target | full |
| theme-color | #1e2327 |
| color-scheme | light dark |
Links:
Viewport: width=device-width