-
Notifications
You must be signed in to change notification settings - Fork 218
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
WIP: DOC: Add advanced tutorial "Creating legends" #3594
base: main
Are you sure you want to change the base?
Conversation
Co-authored-by: Dongdong Tian <[email protected]>
Co-authored-by: Dongdong Tian <[email protected]>
# Create an auto-legend | ||
# --------------------- | ||
# | ||
# For auto-legends, the ``label`` parameter of :meth:`pygmt.Figure.plot` has to be |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Some other plotting methods (e.g., plot3d
/histogram
) also have the label
parameter, so better to be general here and use Figure.plot
as an example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I updated the explanation text in commit 49773b4. Now it's mention that multiple methods have the (legend-related) label
parameter and we use Figure.plot
examplarly in this tutorial.
fig = pygmt.Figure() | ||
fig.basemap(region=[-5, 5, -5, 5], projection="X5c", frame=True) | ||
|
||
fig.plot(x=0, y=0, style="c0.25c", fill="orange", label="orange circle") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Better to call Figure.plot
twice with different labels, so that users can know the default layout for legend entries.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Hm. Now, three symbols are plotted to show that by default a one-column legend is created and the order of the symbols is given by the plotting order; see commit a47babf. Or did you mean something different?
# possible to provide this information as an :class:`io.StringIO` object. Both, the | ||
# ASCII file or the :class:`io.StringIO` object are passed to the ``spec`` parameter | ||
# of :meth:`pygmt.Figure.legend`. | ||
# |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Also need to add a link to https://docs.generic-mapping-tools.org/dev/legend.html#legend-codes.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, this part needs some work on the documentation side. Will do this in the next days 🙂.
Co-authored-by: Dongdong Tian <[email protected]>
Description of proposed changes
This PR addes the advanced tutorial "Creating legends":
label
parameter of plotting methodsposition
parameter, +w, +o, +jspec
parameter,io.StringIO
objectFixes #3444
Preview: https://pygmt-dev--3594.org.readthedocs.build/en/3594/tutorials/advanced/legends.html
Reminders
make format
andmake check
to make sure the code follows the style guide.doc/api/index.rst
.Slash Commands
You can write slash commands (
/command
) in the first line of a comment to performspecific operations. Supported slash command is:
/format
: automatically format and lint the code