Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Support for custom marker symbols #7653

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

Draft
gatopeich wants to merge 11 commits into plotly:master
base: master
Choose a base branch
Loading
from gatopeich:master
Draft

Conversation

@gatopeich
Copy link

@gatopeich gatopeich commented Nov 22, 2025

This pull request introduces support for custom markers via functions in Plotly.js scatter plots, allowing users to pass a function directly as the marker.symbol property to define custom SVG marker shapes. The implementation includes updates to the drawing logic, comprehensive documentation, a demo HTML file, and new tests to ensure correct behavior. This feature provides a flexible and user-friendly way to extend marker capabilities beyond the built-in set.

Custom Marker Function Support:

  • Added support for passing custom functions as marker.symbol in scatter plots, enabling users to define custom SVG path markers directly without registration. The drawing logic is updated to handle both functions and traditional symbol identifiers throughout the rendering pipeline. [1] [2] [3] [4]

Documentation and Examples:

  • Introduced a new CUSTOM_MARKER_FUNCTIONS.md file with detailed documentation, usage examples, function signatures, SVG path command explanations, and best practices for custom marker functions.
  • Added a demo HTML file (devtools/custom_marker_demo.html) showcasing how to use custom marker functions in practice, with live examples and code snippets.

Testing:

  • Added new Jasmine tests to verify that custom marker functions work as expected, including support for arrays of functions and mixing custom functions with built-in symbols.

Copilot AI and others added 11 commits November 19, 2025 11:16
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
...calculation
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Co-authored-by: gatopeich <7722268+gatopeich@users.noreply.github.com>
Allow custom SVG marker functions directly as marker.symbol values
Copy link
Contributor

Hello @gatopeich! Before we review this PR, could you please help us understand what use case prompted this change? Ideally, you'd create an issue describing the problem and explaining why it should be fixed.

Copy link
Author

I've used this professionally over the last few years to plot meaningful icons on top of maps, e.g. pedestrians, cars, directional wind arrows based on data...
Copilot was able to recreate the concept but did not produce a meaningful demo.

@gatopeich gatopeich marked this pull request as draft December 2, 2025 18:38
Copy link
Author

Let me add some nice example.
I also realize that the function could take more inputs that the size... I solved that with scoped lambdas in the past but now we can make it ellegant.

Copy link
Contributor

Sounds good. While you're at it, could you double check the test you added? It's failing in CI.

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

Reviewers

@camdecoster camdecoster Awaiting requested review from camdecoster

At least 1 approving review is required to merge this pull request.

Labels

None yet

Projects

None yet

Milestone

No milestone

Development

Successfully merging this pull request may close these issues.

AltStyle によって変換されたページ (->オリジナル) /