axisartist by default draws ticks on the opposite side of the labels. It provides a method Ticks.set_tick_out() to change it to draw ticks on the same side of the label. However, there is no way to draw ticks across both sides.
Proposed Solution
Please add a function to axisartist.Ticks that enables one to draw ticks on both sides of the axis.
Additional context and prior art
Drawing tick marks spanning an axis is a common artistic choice and should be possible in axisartist.
@jasondet is there a reason you are using axisartist for your end-use rather than axis objects from the main library? Things in mpl-toolkit tend to be substantially less polished.
I actually had this mostly already implemented, see #19102. @jasondet if you are interested in the feature, consider trying to push my patch over the finish line :)
@jasondet is there a reason you are using axisartist for your end-use rather than axis objects from the main library? Things in mpl-toolkit tend to be substantially less polished.
I was trying to make axes that cross in the middle of the plot rather than at the corner, like in this example. The example uses axisartist, so I tried using axisartist. I did end up doing it myself with Axis objects from the main library as axisartist was unusable.
This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!
Activity
jklymak commented on Dec 11, 2020
@jasondet is there a reason you are using axisartist for your end-use rather than axis objects from the main library? Things in mpl-toolkit tend to be substantially less polished.
anntzer commented on Dec 11, 2020
I actually had this mostly already implemented, see #19102. @jasondet if you are interested in the feature, consider trying to push my patch over the finish line :)
jasondet commented on Dec 13, 2020
I was trying to make axes that cross in the middle of the plot rather than at the corner, like in this example. The example uses axisartist, so I tried using axisartist. I did end up doing it myself with Axis objects from the main library as axisartist was unusable.
jklymak commented on Dec 13, 2020
Yes it is unfortunate that demo comes up so high in the google search. It should really have disclaimer at the top and point to the core library version: https://matplotlib.org/gallery/ticks_and_spines/spine_placement_demo.html
anushkrishnav commented on Dec 29, 2020
I can work on the Issue
github-actions commented on Sep 20, 2023
This issue has been marked "inactive" because it has been 365 days since the last comment. If this issue is still present in recent Matplotlib releases, or the feature request is still wanted, please leave a comment and this label will be removed. If there are no updates in another 30 days, this issue will be automatically closed, but you are free to re-open or create a new issue if needed. We value issue reports, and this procedure is meant to help us resurface and prioritize issues that have not been addressed yet, not make them disappear. Thanks for your help!
QuLogic commented on Mar 11, 2026
This is now implemented by #30369