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

Adding an example of source lines or notes on the bottom of graphs #4873

Open
wants to merge 6 commits into
base: doc-prod
Choose a base branch
from

Conversation

rl-utility-man
Copy link
Contributor

Please uncomment this block and take a look at this checklist if your PR is making substantial changes to documentation/impacts files in the doc directory. Check all that apply to your PR, and leave the rest unchecked to discuss with your reviewer! Not all boxes must be checked for every PR :)

If your PR modifies code of the plotly package, we have a different checklist
below :-).

Documentation PR

  • [ X] I've seen the doc/README.md file
  • [ X] This change runs in the current version of Plotly on PyPI and targets the doc-prod branch OR it targets the master branch
  • [ X] If this PR modifies the first example in a page or adds a new one, it is a px example if at all possible
  • [X ] Every new/modified example has a descriptive title and motivating sentence or paragraph
  • [X ] Every new/modified example is independently runnable
  • [X ] 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
  • [ X] Meaningful/relatable datasets are used for all new examples instead of randomly-generated data where possible
  • [ N/A] The random seed is set if using randomly-generated data in new/modified examples
  • [ N/A] New/modified remote datasets are loaded from https://plotly.github.io/datasets and added to https://github.com/plotly/datasets
  • [N/A ] Large computations are avoided in the new/modified examples in favour of loading remote datasets that represent the output of such computations
  • [ X] Imports are plotly.graph_objects as go / plotly.express as px / plotly.io as pio
  • [ X] Data frames are always called df
  • [X ] fig = <something> call is high up in each new/modified example (either px.<something> or make_subplots or go.Figure)
  • [X ] 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
  • [X ] fig.show() is at the end of each new/modified example
  • [X ] plotly.plot() and plotly.iplot() are not used in any new/modified example
  • [X ] 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 updated the relevant docstrings in the code to describe the feature or behaviour (please see the doc checklist as well).

-->

@rl-utility-man
Copy link
Contributor Author

rl-utility-man commented Nov 13, 2024

This documents a work around for the canonical problem that Issue 3084 proposes to solve.
cc: @joerecht

@rl-utility-man
Copy link
Contributor Author

rl-utility-man commented Dec 13, 2024

@gvwilson Please advise about a road forward on this documentation PR. I'd welcome clarity about whether it is useful and, if so, how to revise and publish it. I see @LiamConnors was unassigned and then unassigned. I'm looking forward to engaging with the right person. I am honored to work with the Plotly team to make this project more useful.

@LiamConnors LiamConnors self-assigned this Dec 16, 2024
@LiamConnors
Copy link
Member

@rl-utility-man sorry for the delay. I'll take a look at it this week

Comment on lines 795 to 801
#Use the title for the source line
fig.update_layout(
title=dict(text="Note: a near zero container coordinate is the most robust way to position this on the bottom. Only the 'title' supports container coordinates.",
yref="container",
# A small positive y coordinate avoids cutting off the descending strokes of letters like y, p, and q.
y=0.005,
# Paper coordinates let us align this at either edge of the plot region
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks for the effort on this one @rl-utility-man
I like the idea. When I tried the example, some of the text is cut off
image
Makes me wonder if it's just maybe too specific of an example for the docs. Will it be difficult to get it working if your text looks different or you're running it in a specific environment?

Copy link
Contributor Author

@rl-utility-man rl-utility-man Dec 21, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Good point about the cut off text! I reworked the example with short text that works well at a wide variety of screen resolutions and added a comment to the code warning about over long text getting cut off. I also rewrote the comments and documentation text to clarify out the general points I am trying to make with this example. Let me know what you think of the revised version.
image

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
community community contribution documentation written for humans fix fixes something broken P1 needed for current cycle
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants