last xtick label is not showing up!

37 views (last 30 days)
I am fairly uncertain why my final label is not showing up! The content of the plots themselves are not too important, but I want to place on the x-axis at x=1 the label $(\pi,\pi)$.
My code was labeling correctly till I changed it to what I have now. I am sure there is just some dumb mistake somewhere... Which are sometimes the hardest to find!
The code which contains the tick marks is in matrix ploter, and the data is generated by BdG*. Hopefully a fresh set of eyes can find the issue, and thanks!

Accepted Answer

Voss
Voss on 22 Nov 2022
I think it's because surf doesn't render the last row or column of the matrix (so that the surface doesn't actually go all the way to x=1 but stops just before).
The problem:
M = magic(4) % 4-by-4 matrix
M = 4×4
16 2 3 13 5 11 10 8 9 7 6 12 4 14 15 1
surf(M) % only 3-by-3 is shown
view(2)
colorbar()
To correct that, you can replicate the last row and column of your matrix, as in:
M = magic(4);
M = M([1:end end],[1:end end]) % 5-by-5 with last row and column repeated
M = 5×5
16 2 3 13 13 5 11 10 8 8 9 7 6 12 12 4 14 15 1 1 4 14 15 1 1
surf(M) % 4-by-4 is shown
view(2)
colorbar()
  2 Comments
Voss
Voss on 22 Nov 2022
To check whether this is the problem, you can check the xlim of your axes. If the right limit is not-quite-1, then it's not going all the way to 1, so the label at 1 won't show up.
Marcus Rosales
Marcus Rosales on 23 Nov 2022
I had that thought already but changed the range of tick marks.
I figured it out though, and it was indeed very stupid... I forgot the $ in the labels for latex mode. I at least learned something about surf now.

Sign in to comment.

More Answers (0)

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!