Add y grid only to plot

355 views (last 30 days)
chlor thanks
chlor thanks on 12 Jul 2016
Edited: Francesco on 19 Feb 2024
I would like to add solid y grid lines to my plot according to the y tick in gca.
so I tried:
ax = gca;
ax.YGrid = 'on';
ax.GridLineStyle = '-';
However, this did not work and there is no grid at all in my plot, please help.
  13 Comments
dpb
dpb on 14 Jul 2016
"gca.YGrid='on';is not valid syntax to do this."
I debated about that; not having HG2 wasn't able to check; I (unfortunately) let the previous posting influence in making an unwarranted assumption so left it instead of using the old set notation trying to "get with it" for the new stuff... :(
At least finally uncovered the issue; as I suspected it wasn't profound.
chlor thanks
chlor thanks on 14 Jul 2016
Everything works wonderfully after Adam points out what is wrong with my code.
It turns out that if I want to change the gridline color without affecting the tick color in my 2011 matlab, I need to manually draw those lines instead of using YGrid, so another type of fun for me... Just a little side story.
But still I learnt a lot from your comments, thank you guys!!

Sign in to comment.

Accepted Answer

Mathieu
Mathieu on 13 Jul 2016
Hello,
I did something like this in my current project : I create my own lines to simulate grid like I want (and set the HitTest property to off to not take care of these lines with matlab cursor for example) through multiple plots. It is not very elegant but it is working very well and permit you to change as you want the position of the grid.
  1 Comment
chlor thanks
chlor thanks on 13 Jul 2016
That is smart, if I can't figure things out I will have to give it a try, thanks for sharing :D

Sign in to comment.

More Answers (1)

Valerii Abramenko
Valerii Abramenko on 23 Jul 2019
Hello,
If someone else needs the grid for only one axis, the answer is here (set(gca, 'YGrid', 'on', 'XGrid', 'off')):
  3 Comments
Klont
Klont on 9 Feb 2024
What about minor gridlines for only one axis?
grid(gca,'minor')
displays them for both X and Y, ignoring
set(gca,'XGrid','on','YGrid','off')
Francesco
Francesco on 19 Feb 2024
Edited: Francesco on 19 Feb 2024
set(gca, 'XMinorGrid', 'on', 'YMinorGrid', 'off')

Sign in to comment.

Categories

Find more on Specifying Target for Graphics Output in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!