AxisArtist to use standard tick directions and have an option for tick orientation#24553
AxisArtist to use standard tick directions and have an option for tick orientation#24553leejjoon wants to merge 11 commits into
Conversation
i.e. defaulting to "out". Also support "inout". Would perpendicular work better for "out"? see e.g. demo_curvelinear_grid.
|
|
||
| return tick_orientation | ||
|
|
||
| def set_tick_out(self, b): |
There was a problem hiding this comment.
Maybe we should deprecate these now? (set/get_tick_out)
There was a problem hiding this comment.
At what version do we want it to be deprecated?
There was a problem hiding this comment.
I think this could fit in our normal warn for one release, remove the next pattern, but would defer to you if you wanted to put the new version in for a cycle before we started (or pushed the removal date out further).
| # If ticklabels and axislabel are on differenct side, we only | ||
| # conside the padding for the ticks only. | ||
|
|
||
| ticksizes = [] |
There was a problem hiding this comment.
Can you add a test that uses this path? (And ideally "all" the newly introduced options.)
Edit: one way to at least test the out/in/inout combinations would be to regenerate some of the test images below.
| @image_comparison(['curvelinear3.png'], style='default', tol=5) | ||
| def test_curvelinear3(): | ||
| # Remove this lines when this test image is regenerated. | ||
| plt.rcParams.update({"xtick.direction": "in", "ytick.direction": "in"}) |
There was a problem hiding this comment.
If I get it correct, this changes the current behavior? Not sure if we should introduce some way to make that transition smoothly, but at least a change note would be in place, I guess.
(Edit: this comment holds for the whole change, not just this line.)
There was a problem hiding this comment.
When we went to v2 we changed ticks from in to out, however because AxisArtist did not follow the rcparams they did not flip when everything else did.
I do not think there is a way to soften this change short of adding another rcparam.
I think we should go forward with this, but make sure there is a very clear API change note.
There was a problem hiding this comment.
I have added a deprecation warning at the level of Tick creation and relevant tests. On the other hand, users won't see the warning unless they manually create a Tick instance. I briefly thought about adding a tickdir keyword argument for Axes initialization, but not very inclined for now. I agree with @tacaswell that it is better to go with it.
| @@ -62,7 +62,7 @@ | |||
|
|
|||
There was a problem hiding this comment.
The line above (which I cannot mark...) should be updated as well?
Currently:
ax.axis["bottom"].major_ticks.set_tick_out(True)
|
Since this Pull Request has not been updated in 60 days, it has been marked "inactive." This does not mean that it will be closed, though it may be moved to a "Draft" state. This helps maintainers prioritize their reviewing efforts. You can pick the PR back up anytime - please ping us if you need a review or guidance to move the PR forward! If you do not plan on continuing the work, please let us know so that we can either find someone to take the PR over, or close it. |
PR Summary
This is a rebased version of PR #19102 that addresses issue #19101. It also add an option to change the orientation of ticks. The ticks in AxisArtist were drawn along the gridlines and may not be perpendicular to spines. This PR introduce an option of
tick_orientationthat controls this behavior so that it can be normal to spines (see the discussion in #19102).tick.orientationcan be one of "parallel", "normal" and "auto". Defaut is "auto".PR Checklist
Documentation and Tests
pytestpasses)Release Notes
.. versionadded::directive in the docstring and documented indoc/users/next_whats_new/.. versionchanged::directive in the docstring and documented indoc/api/next_api_changes/next_whats_new/README.rstornext_api_changes/README.rst