Change grid Line Width

527 次查看(过去 30 天)
Faruk
Faruk 2014-10-8
评论: Adam Danz 2023-6-20
Hi, I used default axes line width as 1.5 in Matlab2014a and my grids were fine. When I increase the axes line width in Matlab2014b, it increases the grid line width and create a very ugly plot specially if I save it as eps or pdf. How can I set axes line width to 1.5 and and grid line width to 0.5 Thank you

采纳的回答

Toshia M
Toshia M 2023-3-17
Starting in R2023a, you can change the thickness of grid lines independently of the box outline and tick marks by setting the GridLineWidth property of the axes. For example:
plot([0 3 1 6 4],"LineWidth",2)
grid on
ax = gca;
ax.LineWidth = 2;
ax.GridLineWidth = 1;
You can also set the minor grid line width by setting the MinorGridLineWidth property. For more information on both of these axes properties, see Axes properties.
  2 个评论
AK Nahin
AK Nahin 2023-6-20
It is showing this error. I cannot find any solution. Even Example in axis properties also shows the same error.
Unrecognized property 'GridLineWidth' for class 'matlab.graphics.axis.Axes'.
Adam Danz
Adam Danz 2023-6-20
As @Toshia M mentioned, this functionality became available in MATLAB R2023a. Check your MATLAB release using the ver function or look at the upper left corner of the MATLAB desktop.

请先登录,再进行评论。

更多回答(3 个)

Star Strider
Star Strider 2014-10-8
编辑:Star Strider 2014-10-8
According to the Axis Properties documentation for R2014b, the axes and grid line widths are all set by the LineWidth property. Setting the GridAlpha or GridColor properties to make them less prominent is probably the best you can do.
EDIT — There may be a way to get around it though if you don’t mind a slightly cumbersome solution.
Assuming this is the effect you want:
x = linspace(0,10*pi,250);
y = sin(0.1*x).*cos(5*x);
plot(x,y, '-r')
grid
hold on
xl = xlim;
yl = ylim;
plot(xl,ones(1,2)*yl(1), '-k', ones(1,2)*xl(1), yl,'-k', 'LineWidth',1.5) % Left & Lower Axes
plot(xl,ones(1,2)*yl(2), '-k', ones(1,2)*xl(2), yl,'-k', 'LineWidth',1.5) % Right & Upper Axes
hold off
produces:
  2 个评论
Tiago Dias
Tiago Dias 2018-1-12
How to make it work when i have datetime in the XAxis? it doenst work because my X is datatime
Alutsyah Luthfian
Alutsyah Luthfian 2020-9-12
Thanks man... you are very helpful

请先登录,再进行评论。


Md Zillur Rahman
Md Zillur Rahman 2015-10-15
you can solve this issue by using
GridAlpha — Grid-line transparency 0.15 (default) | value in the range [0,1] Grid-line transparency, specified as a value in the range [0,1]. A value of 1 means opaque and a value of 0 means completely transparent.
Setting this property sets the associated mode property to manual.
Example: ax.GridAlpha = 0.5

matt dash
matt dash 2014-10-8
I think Yair Altman just covered this today... there are unlisted "ruler" properties that let you directly control the axes lines: http://undocumentedmatlab.com/blog/customizing-axes-rulers

类别

Help CenterFile Exchange 中查找有关 Graphics Object Programming 的更多信息

Community Treasure Hunt

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

Start Hunting!

Translated by