Skip to content

Allow legend to use bottom margin space? #1340

Description

@rpaskowitz

Would the team accept a PR to optionally allow the legend to expand in to the bottom margin area?

image

Currently this space is un-used since there will never be x-axis labels in this place, and it would allow for more legend entries to be shown before scrolling.

Visually, some people may prefer to have the legend entries align entirely with the graph area, but in my case, it would be preferable to use the space to show more.

Here is an example of the legend_scroll mock with 100% of the bottom margin used. (I'd probably preserve some margin, also maybe configurable so it doesn't go right to the bottom of the div).

image

Activity

  1. etpinard commented on Jan 30, 2017

    @etpinard
    Contributor

    Sounds like a solid idea 👍

    I'd vote for adding a len attribute (short for length) similar to what we use current for configuring the span of colorbars and sliders. By default, its maximum value would be 1 corresponding in pixels to:

    // for vertical legends
    layout.height - (layout.margin.t + layout.margin.b) 
    
    // for horizontal legends
    layout.width - (layout.margin.l + layout.margin.r) 

    This len attribute would allow users to specify e.g.

    layout = {
      len: 1.2
    }

    which would make the legend span into the bottom margin.

  2. rpaskowitz commented on Jan 30, 2017

    @rpaskowitz
    ContributorAuthor

    To achieve the effect I showed, I had modified:

    -        legendHeightMax = gs.h;
    +        legendHeightMax = fullLayout.height - gs.t;
    

    I think gs.h works out to layout.height - (layout.margin.t + layout.margin.b) as you mention.

    Would you recommend that (roughly):

    x = layout.height - (layout.margin.t + layout.margin.b) 
    legendHeightMax = x * opts.layout.len
    
  3. etpinard commented on Jan 30, 2017

    @etpinard
    Contributor

    @rpaskowitz yep, that sounds about right.

    Would you mind making a PR so that we can test this solution in detail?

  4. etpinard commented on Feb 8, 2017

    @etpinard
    Contributor

    In doing so, we should try to make updatemenus re-use @n-riesco 's brilliant scrollbox module.

  5. saimaparveen commented on May 30, 2017

    @saimaparveen
  6. etpinard commented on May 30, 2017

    @etpinard
  7. cpsievert commented on Feb 6, 2020

    @cpsievert

    +1 for a len attribute. It would also be useful to have this in ggplotly() when trying to layout colorbar(s) with a legend (relatedly, #1244 would be awesome to have)

  8. gvwilson commented on Jun 6, 2024

    @gvwilson
    Contributor

    Hi - this issue has been sitting for a while, so as part of our effort to tidy up our public repositories I'm going to close it. If it's still a concern, we'd be grateful if you could open a new issue (with a short reproducible example if appropriate) so that we can add it to our stack. Cheers - @gvwilson

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions