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

POC: Add Figure.scatter #3602

Draft
wants to merge 17 commits into
base: main
Choose a base branch
from
Draft

POC: Add Figure.scatter #3602

wants to merge 17 commits into from

Conversation

seisman
Copy link
Member

@seisman seisman commented Nov 8, 2024

Description of proposed changes

Reference: Matplotlib.pyplot.scatter

Example:

import pygmt

x = [-4, -2, 0, 2, 4]

fig = pygmt.Figure()
fig.basemap(region=[-5, 5, -3, 3], projection="X10c/4c", frame=True)

fig.scatter(x=x, y=[-2] * 5, symbol="c", size="0.5c", fill="gray", pen="1p,orange")

fig.scatter(x=x, y=[-1] * 5, symbol=["c", "i", "t", "a", "d"], size="0.5c", fill="gray", pen="1p,orange")

fig.scatter(x=x, y=[0] * 5, symbol="c", size=[0.2, 0.5, 1.0, 0.2, 0.4], fill="gray", pen="1p,orange")

fig.scatter(x=x, y=[1] * 5, symbol=["c", "i", "t", "a", "d"], size=[0.2, 0.5, 1.0, 0.2, 0.4], fill="gray", pen="1p,orange")

fig.show()

Fixes #

Preview: https://pygmt-dev--3602.org.readthedocs.build/en/3602/api/generated/pygmt.Figure.scatter.html

Reminders

  • Run make format and make check to make sure the code follows the style guide.
  • Add tests for new features or tests that would have caught the bug that you're fixing.
  • Add new public functions/methods/classes to doc/api/index.rst.
  • Write detailed docstrings for all functions/methods.
  • If wrapping a new module, open a 'Wrap new GMT module' issue and submit reasonably-sized PRs.
  • If adding new functionality, add an example to docstrings or tutorials.
  • Use underscores (not hyphens) in names of Python files and directories.

Slash Commands

You can write slash commands (/command) in the first line of a comment to perform
specific operations. Supported slash command is:

  • /format: automatically format and lint the code

Note to developers: I use the following bash script to batch copy/rename result.png to baseline directory.

find results -name result.png | while read -r file; do
    # Get the directory containing result.png
    dir=$(dirname "$file")
    
    # Extract test name (last component after the last dot)
    test_name=$(basename "$dir" | rev | cut -d. -f1 | rev)
    
    # Move the file to baseline directory
    mv "$file" "pygmt/tests/baseline/${test_name}.png"
    echo "Moved ${file} to pygmt/tests/baseline/${test_name}.png"
done

@yvonnefroehlich yvonnefroehlich mentioned this pull request Dec 16, 2024
49 tasks
Copy link
Contributor

Summary of changed images

This is an auto-generated report of images that have changed on the DVC remote

Status Path
added pygmt/tests/baseline/test_scatter.png
added pygmt/tests/baseline/test_scatter_fills.png
added pygmt/tests/baseline/test_scatter_intensity.png
added pygmt/tests/baseline/test_scatter_sizes.png
added pygmt/tests/baseline/test_scatter_sizes_fills.png
added pygmt/tests/baseline/test_scatter_sizes_fills_transparencies.png
added pygmt/tests/baseline/test_scatter_sizes_fills_transparencies_intensity.png
added pygmt/tests/baseline/test_scatter_symbols.png
added pygmt/tests/baseline/test_scatter_symbols_sizes.png
added pygmt/tests/baseline/test_scatter_symbols_sizes_fills_transparencies_intensity.png
added pygmt/tests/baseline/test_scatter_transparencies.png
added pygmt/tests/baseline/test_scatter_valid_symbols.png

Image diff(s)

Added images

  • test_scatter.png

  • test_scatter_fills.png

  • test_scatter_intensity.png

  • test_scatter_sizes.png

  • test_scatter_sizes_fills.png

  • test_scatter_sizes_fills_transparencies.png

  • test_scatter_sizes_fills_transparencies_intensity.png

  • test_scatter_symbols.png

  • test_scatter_symbols_sizes.png

  • test_scatter_symbols_sizes_fills_transparencies_intensity.png

  • test_scatter_transparencies.png

  • test_scatter_valid_symbols.png

Modified images

Path Old New

Report last updated at commit af90220

@seisman
Copy link
Member Author

seisman commented Dec 23, 2024

I think this feature needs more discussions. So leave this PR to v0.15.0.

@seisman seisman added this to the 0.15.0 milestone Dec 23, 2024
@seisman seisman removed this from the 0.15.0 milestone Dec 31, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant