matlab - Matlab中如何绘制不同间距的网格线

标签 matlab matlab-figure

在 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

here's a link

我不明白绘图命令:例如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;

enter image description here

关于matlab - Matlab中如何绘制不同间距的网格线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41637336/

相关文章:

matlab - 计算二维数组每一行中非 NaN 值的数量

Matlab:强制 Spring 质量阻尼器的 ode45 输出不正确

带颜色矩阵的 Matlab 误差条

matlab - 符号梯度与解析梯度有很大不同

file - MatLab - 根据名称执行函数

matlab - 具有交叉验证的 SVM 分类

matlab - 如何为输出参数为零的函数重载 subsref/numArgumentsFromSubscript?

r - 绘制一个盒子大小改变的表格

MATLAB 将图窗窗口作为选项卡嵌入编辑器中

matlab - 在matlab中打印多个图形