Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add faceting support for all figure factory methods #3132

Draft
wants to merge 13 commits into
base: master
Choose a base branch
from
Draft

add faceting support for all figure factory methods #3132

wants to merge 13 commits into from

Conversation

inkychris
Copy link

@inkychris inkychris commented Apr 2, 2021

Closes: #4724

Documentation PR

  • I've seen the doc/README.md file
  • This change runs in the current version of Plotly on PyPI and targets the doc-prod branch OR it targets the master branch
  • If this PR modifies the first example in a page or adds a new one, it is a px example if at all possible
  • Every new/modified example has a descriptive title and motivating sentence or paragraph
  • Every new/modified example is independently runnable
  • Every new/modified example is optimized for short line count and focuses on the Plotly/visualization-related aspects of the example rather than the computation required to produce the data being visualized
  • Meaningful/relatable datasets are used for all new examples instead of randomly-generated data where possible
  • The random seed is set if using randomly-generated data in new/modified examples
  • New/modified remote datasets are loaded from https://plotly.github.io/datasets and added to https://github.com/plotly/datasets
  • Large computations are avoided in the new/modified examples in favour of loading remote datasets that represent the output of such computations
  • Imports are plotly.graph_objects as go / plotly.express as px / plotly.io as pio
  • Data frames are always called df
  • fig = <something> call is high up in each new/modified example (either px.<something> or make_subplots or go.Figure)
  • Liberal use is made of fig.add_* and fig.update_* rather than go.Figure(data=..., layout=...) in every new/modified example
  • Specific adders and updaters like fig.add_shape and fig.update_xaxes are used instead of big fig.update_layout calls in every new/modified example
  • fig.show() is at the end of each new/modified example
  • plotly.plot() and plotly.iplot() are not used in any new/modified example
  • Hex codes for colors are not used in any new/modified example in favour of these nice ones

Code PR

  • I have read through the contributing notes and understand the structure of the package. In particular, if my PR modifies code of plotly.graph_objects, my modifications concern the codegen files and not generated files.
  • I have added tests (if submitting a new feature or correcting a bug) or
    modified existing tests.
  • For a new feature, I have added documentation examples in an existing or
    new tutorial notebook (please see the doc checklist as well).
  • I have added a CHANGELOG entry if fixing/changing/adding anything substantial.
  • For a new feature or a change in behaviour, I have updat
  • ed the relevant docstrings in the code to describe the feature or behaviour (please see the doc checklist as well).

@inkychris inkychris changed the title 2646 px facets 2646 - Add faceting support for all figure factory methods Apr 2, 2021
@inkychris
Copy link
Author

@nicolaskruchten, this attempts to resolve #2646. I feel like there sould be more to do than this, but the default spacing seems to be reasonable...

@nicolaskruchten
Copy link
Contributor

Thanks! I'll take a look in a couple of weeks as we prepare for the next release of Plotly.py :) For spacing, what sizes of figures did you spot-check/how many rows/how many columns?

@inkychris
Copy link
Author

I only checked 2x2. I'll can go back through with 3x3 perhaps, and also provide the scripts I used to check them as that'll probably make validation a little easier for you.

@inkychris
Copy link
Author

I've realised that spacing depends a lot more on window size than I had originally appreciated 🙈. Also, the row, column, and subplot titles seem to overlap, but I'm not sure if this is a Python issue or a JS issue? I haven't found a way to modify it.

image

@nicolaskruchten
Copy link
Contributor

Yeah, this kind of thing is what we need to come up with a good heuristic for...

@gvwilson gvwilson self-assigned this Jun 24, 2024
@gvwilson gvwilson removed their assignment Aug 2, 2024
@gvwilson gvwilson changed the title 2646 - Add faceting support for all figure factory methods add faceting support for all figure factory methods Aug 12, 2024
@gvwilson gvwilson added P2 considered for next cycle community community contribution fix fixes something broken labels Aug 12, 2024
@gvwilson
Copy link
Contributor

This PR adds facet support to some chart types that currently don't support faceting, so with re-work it could be merged.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community community contribution fix fixes something broken P2 considered for next cycle
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add facet support for all Plotly Express trace types
3 participants