Movatterモバイル変換


[0]ホーム

URL:


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

figure option dialog does not properly handle units#4909

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 ourterms of service andprivacy statement. We’ll occasionally send you account related emails.

Already on GitHub?Sign in to your account

Merged
tacaswell merged 2 commits intomatplotlib:masterfromjrevans:issue06
Sep 13, 2015

Conversation

jrevans
Copy link

The figure option dialog resets the axes and all unit information. This saves the axes converter information so that it can be restored when the dialog values are applied to the figure.

This addresses an issue in#4897.

…is fixesit so that unit information is not lost.
axes.xaxis.converter = xconverter
axes.yaxis.converter = yconverter
axes.xaxis.set_units( xunits )
axes.yaxis.set_units( yunits )
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

PEP8: unnecessary spaces

@WeatherGod
Copy link
Member

Travis is only complaining about the PEP8 errors I noted. The change makes sense.

At some point, I should update the editor to be mplot3d-friendly...

@@ -101,7 +107,7 @@ def figure_edit(axes, parent=None):
has_curve = bool(curves)

datalist = [(general, "Axes", "")]
if has_curve:
if has_curve and curves:
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others.Learn more.

What is theand curves doing?

@tacaswell
Copy link
Member

What mechanism in that call back is re-setting the converters/units? That seems like the actually and this is just treating the symptoms.

@jrevans
Copy link
Author

The spacing is now cleaned up as per your style rules. As for the root of the problem, when the apply callback happens it takes the values for the limits specified in the dialog (which do not have any unit information) and uses those to 'set_xlim' and 'set_ylim', which will set the units on the respective axis based on the values passed in. Since the limit values have become unitless in the GUI they stay unitless during the 'set_*' call and the axes forget what the units should be. This will preserve that unit information and make sure it stay in place after an apply is called.

As for the 'and curves', If you have a plot with a line, whose label is set to 'nolegend', then the logic fails as 'curves' is an empty list. I opted for the simplest fix of making sure that 'curves' was not empty after the preprocessing step (in the event the logic of the preprocessing step changes in the future).

@tacaswell
Copy link
Member

I think the issue with an empty curve list was fixed in#4411 (originally reported as#4323). Can you please make sure that change is actually needed?

@tacaswelltacaswell added this to thenext point release milestoneAug 18, 2015
@tacaswelltacaswell merged commit6bd87db intomatplotlib:masterSep 13, 2015
tacaswell added a commit that referenced this pull requestSep 13, 2015
FIX: Qt figure options preserve units
ksunden added a commit to ksunden/matplotlib that referenced this pull requestOct 31, 2024
The replacement is the get/set_converter method.This includes changes to use the getter and the private setter in the qtfigure options dialog menu.The choice to use the private setter was a defensive one as the publicsetter prevents being called multiple times (though does short circuitif an identical input is provided, which I think is actually true here,therefore the public one is probably functional (and a no-op).)It is not clear to me on analysis how the unit information is or waslost. A quick test commenting out the two lines which resetconverter/units displayed no obvious detrimental effect to removingthose, suggesting that even if once they were necessary, they may nolonger be.These lines were last touched inmatplotlib#24141, though that really only generalizedthe code into a loop rather than copy/pasted x and y behavior.The original inclusion of resetting was inmatplotlib#4909, which indicated thatthe dialog reset unit info. AFAICT, that is no longer true, though Ihave not rigorously proved that.
ksunden added a commit to ksunden/matplotlib that referenced this pull requestOct 31, 2024
The replacement is the get/set_converter method.This includes changes to use the getter and the private setter in the qtfigure options dialog menu.The choice to use the private setter was a defensive one as the publicsetter prevents being called multiple times (though does short circuitif an identical input is provided, which I think is actually true here,therefore the public one is probably functional (and a no-op).)It is not clear to me on analysis how the unit information is or waslost. A quick test commenting out the two lines which resetconverter/units displayed no obvious detrimental effect to removingthose, suggesting that even if once they were necessary, they may nolonger be.These lines were last touched inmatplotlib#24141, though that really only generalizedthe code into a loop rather than copy/pasted x and y behavior.The original inclusion of resetting was inmatplotlib#4909, which indicated thatthe dialog reset unit info. AFAICT, that is no longer true, though Ihave not rigorously proved that.
tacaswell pushed a commit that referenced this pull requestOct 31, 2024
* Add explicit converter setting to AxisCloses#19229The replacement is the get/set_converter method.This includes changes to use the getter and the private setter in the qtfigure options dialog menu.The choice to use the private setter was a defensive one as the publicsetter prevents being called multiple times (though does short circuitif an identical input is provided, which I think is actually true here,therefore the public one is probably functional (and a no-op).)It is not clear to me on analysis how the unit information is or waslost. A quick test commenting out the two lines which resetconverter/units displayed no obvious detrimental effect to removingthose, suggesting that even if once they were necessary, they may nolonger be.These lines were last touched in#24141, though that really only generalizedthe code into a loop rather than copy/pasted x and y behavior.The original inclusion of resetting was in#4909, which indicated thatthe dialog reset unit info. AFAICT, that is no longer true, though Ihave not rigorously proved that.
Sign up for freeto join this conversation on GitHub. Already have an account?Sign in to comment
Reviewers
No reviews
Assignees
No one assigned
Labels
None yet
Projects
None yet
Milestone
v1.5.0
Development

Successfully merging this pull request may close these issues.

3 participants
@jrevans@WeatherGod@tacaswell

[8]ページ先頭

©2009-2025 Movatter.jp