Keeping axes tick marks on screen, and refining axes tick marks

I am currently using a vtkCubeAxesActor to serve as an axes system for my data set. I am wondering if it is possible to keep the axis tick marks visible on the screen at all times while viewing zooming into the data set as well as have the tick mars become more refined to be more representative of the location of points on the screen. Currently after a zooming in after a certain point, the axes tick marks disappear but the text label still remains.

Many 3D plotting services offer this by default (ie. Matlab). Refining axes and being able to view the tick marks is a necessity in many scientific applications to precisely select a data point from several that are clumped together.

Here is a small sample demo of the current behavior vs. ideal behavior.
Nothing fancy is occuring with the vtkCubeAxesActor. The only commands called on it are SetBounds and SetColor for each of the text properties. The camera is being scaled to allow the data to fit the viewport

Without zooming in the current window looks like this:

After zooming in the data set looks like this:

As seen in the photos, the axes tick marks are gone while the text labels remain.

The ideal behavior would be the axis tick marks remain on the screen, and become refined to fit the data set currently visible on the screen to more precisely view the location of each point as stated above. Is this possible with vtkPython?

What do you expect to see? A picture paints a thousand words.

Thank you for responding!
The behavior I was talking about looks like this:

In the photo, the purple line represent the major axis tick marks. As you can see, the axis numbers would be in view and the numbers on the major axis tick marks became more precise to match the data (numbers are arbitrary). Essentially on zoom, the axis numbers are still visible and the major axis tick numbers change to be representative of data located on the screen. Currently on zoom, the axis tick marks are lost as well as the numbers (Photo 2 in original post). Zoom is done via mousewheel scroll.

That would require pinning the axes to the left/bottom edges of the window. Even in the first, zoomed out view that’s not the case.

How would one pin the axes to the edges of the window? Would it be some variation of SetPosition?