-
Notifications
You must be signed in to change notification settings - Fork 17
New issue
Have a question about this project? # for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “#”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? # to your account
Minor fixes to ParticleBeam.plot_distribution
#330
base: master
Are you sure you want to change the base?
Conversation
Here is an example showing the modified plotting, where beam = cheetah.ParticleBeam.from_astra("../tests/resources/ACHIP_EA1_2021.1351.001")
other_beam = beam.transformed_to(sigma_x=beam.sigma_x * 2)
fig, axs = beam.plot_distribution(bin_ranges=None, plot_2d_kws={"style": "histogram"})
_, _ = other_beam.plot_distribution(
bin_ranges=None,
plot_2d_kws={"style": "contour"},
plot_1d_kws={"plot_kws": {"color": "red", "linestyle": "--"}},
axs=axs,
) @jp-ga, @roussel-ryan What do you think? |
@jp-ga ... a little reminder to have a brief look at this |
@@ -1227,13 +1215,23 @@ def plot_distribution( | |||
`ParticleBeam.plot_1d_distribution` for plotting 1D histograms. | |||
:param plot_2d_kws: Additional keyword arguments to be passed to | |||
`ParticleBeam.plot_2d_distribution` for plotting 2D histograms. | |||
:param axs: List of Matplotlib axes objects to use for plotting. If set to | |||
`None`, a new figure is created. Must have the shape `(len(dimensions), | |||
len(dimensions))`. | |||
:return: Matplotlib figure object. |
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.
The docstring is inconsistent with the new return type.
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'm a little confused. Was the inconsistency an argument that the function had but which was not listed in the docstring, or the other way around?
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.
The docstring says the function returns a figure object, but the type hint is Tuple[plt.Figure, np.ndarray]
.
Description
Removes
(%)
from unitless axes, and adds Seaborn-style passing and returning of figures and axes, allowing for easy overlaying of particle distributions, for example to compare ground truths and reconstructions. In line with that, thecontour
argument is also replaced with astyle
argument that one can set to"histogram"
or"contour"
.Motivation and Context
Closes #328 as discussed in the meeting.
Types of changes
Checklist
flake8
(required).pytest
tests pass (required).pytest
on a machine with a CUDA GPU and made sure all tests pass (required).Note: We are using a maximum length of 88 characters per line.