Skip to content

Add Plotly Backend Support for Interactive Star Charts #146

@skylook

Description

@skylook

Is your feature request related to a problem? Please describe.
Currently, starplot generates static star charts which limits the user interaction capabilities. When working with astronomical data visualization, being able to interact with the chart (zoom, pan, hover for details) would greatly enhance the user experience and data exploration capabilities.

Describe the solution you'd like
I propose adding Plotly as an optional backend renderer for starplot. Specifically:

  • Implement a Plotly backend option alongside existing rendering methods
  • Enable interactive features such as:
    • Zoom and pan capabilities
    • Hover tooltips showing detailed star information
    • Dynamic view adjustments
  • Maintain the current API structure while adding Plotly-specific options

Describe alternatives you've considered

  • Using Bokeh: While it's another great interactive visualization library, Plotly has better community support and more extensive documentation for astronomical visualizations
  • Using D3.js: It would require more custom implementation work and may not have the out-of-box features that Plotly provides
  • Enhancing the current backend: This would require significant development effort to add interactive features

Additional context
Plotly offers several advantages that make it ideal for this implementation:

  • Built-in support for scientific visualizations
  • Active community and extensive documentation
  • WebGL rendering support for handling large datasets
  • Easy export to HTML for web integration
  • Consistent behavior across different platforms

This feature would make starplot more versatile and useful for both educational and research purposes.

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions