在 mathworks 上,我找到了一个可以在图中绘制网格线的代码:
g_x = -25:1.25:0;
g_y = -35:2.5:-5;
for i = 1:length(g_x)
plot([g_x(i) g_x(i)],[g_y(1) g_y(end)],'k:')% y grid lines
hold on
end
for i=1:length(g_y)
plot([g_x(1) g_x(end)],[g_y(i) g_y(i)],'k:') % x grid lines
hold on
end
我不明白绘图命令:例如y 网格线 - 输入之一是一个包含 x 轴所有间距点的向量,我想要在其中有一个网格。这些点以两列给出,并分配给第二个向量,该向量仅包含 y 轴上显示的第一个和最后一个点。据我理解这个命令,它将例如采用第一个元素 g_x(1) 和 g_y(1) 并绘制 a : ,然后它将采用 g_x(2) 和 g_y(1) 并绘制 : ,依此类推。但是它如何继续绘制:从 g_y(1) 连续直到 g-y(end) ?
最佳答案
为了直接回答您的问题,它只是绘制每条网格线的两个端点,并且由于 plot
使用的默认 LineStyle
是实线,它们将自动连接。该代码所做的是创建端点的所有排列并将它们绘制出来以形成网格。
您可以简单地使用次要网格线并修改locations of the minor tick marks of the axes
,而不是创建自定义绘图对象(如果您使用的是R2015b或更高版本)。 .
g_x = -25:1.25:0;
g_y = -35:2.5:-5;
ax = axes('xlim', [-25 0], 'ylim', [-35 -5]);
% Turn on the minor grid lines
grid(ax, 'minor')
% Modify the location of the x and y minor tick marks
ax.XAxis.MinorTickValues = g_x;
ax.YAxis.MinorTickValues = g_y;
关于matlab - Matlab中如何绘制不同间距的网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41637336/