Skip to content

Add options for retrieving/replacing **all** subplots on a layout #415

Closed

Description

@kMutagene

Description

Since the member names of subplots on a layout are dynamic, e.g. a layout can have multiple scenes, scene, scene2, scene<n>, bugs can be caused by high-level APIs that retrieve and change subplot objects, for example Chart.Grid @ #413.

Repro steps

see #413

Suggested Solution

functions on Layout and their top-level equivalents on the Chart API must provide options to retrieve and replace all instances of a subplot. The concrete solution for #413 would look like this:

chart
|> ``get all scenes on the chart``
|> ``when there is more than one scene present, choose a sensible default, e.g. the first one``
|> ``style the retrieved single scene accordingly``
|> ``set the scene on the layout, removing all scenes that are there

Activity

  1. added this to the Plotly.NET 5.0 milestone on Sep 11, 2023
  2. kMutagene commented on May 21, 2024

    @kMutagene
    CollaboratorAuthor

    Further relevant info: these types of bugs (#413) do not happen on low-level API usage.

    This example

    [
        Trace3D.initScatter3D(Trace3DStyle.Scatter3D(X = [1], Y = [2], Z = [3])) |> GenericChart.ofTraceObject false
        Trace3D.initScatter3D(Trace3DStyle.Scatter3D(X = [1], Y = [2], Z = [3])) |> GenericChart.ofTraceObject false
        Trace3D.initScatter3D(Trace3DStyle.Scatter3D(X = [1], Y = [2], Z = [3])) |> GenericChart.ofTraceObject false
        Trace3D.initScatter3D(Trace3DStyle.Scatter3D(X = [1], Y = [2], Z = [3])) |> GenericChart.ofTraceObject false
    ]
    |> Chart.Grid(2,2)

    image

    works fine, while using Chart.Point3D does not:

    [
        Chart.Point3D([1,2,3], UseDefaults = false)
        Chart.Point3D([1,2,3], UseDefaults = false)
        Chart.Point3D([1,2,3], UseDefaults = false)
        Chart.Point3D([1,2,3], UseDefaults = false)
        Chart.Point3D([1,2,3], UseDefaults = false)
    ]
    |> Chart.Grid(2,2)

    image

  3. added 2 commits that reference this issue on May 21, 2024
    3c62c4e
    9ae74f5
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions