以编程方式获取 Octave 中的标签
Programmatically getting the labels in Octave
在 Octave 中,当我绘图时,我可以获得绘图对象。例如
pl = get(plot(...))
然后我可以指定标签,例如:
xlabel("something")
我正在开发一个自动评分器,需要从绘图对象 pl 检查 xlabel 的内容。我想我可以说
disp(all(pl.xlabel == "something"))
但是,我收到一条错误消息,指出 xlabel 不属于绘图对象。
如果只有一个坐标轴对象,可以用gca获取当前坐标轴对象,然后通过坐标轴对象获取标签等。
ax = gca
disp(get(get(ax, "XLabel") "String"))
如果您在不同的图形上有多个绘图并且没有图形句柄,您可以在获取图形的地方执行以下操作,而不是直接使用 gca:
p1 = plot((1:10).^2);
p2 = plot((1:10).^4);
xlabel('Matt');
fig = ancestor(p1, 'figure');
ax = get(fig, "CurrentAxes");
disp(get(get(ax, "XLabel") "String"))
在 Octave 中,当我绘图时,我可以获得绘图对象。例如
pl = get(plot(...))
然后我可以指定标签,例如:
xlabel("something")
我正在开发一个自动评分器,需要从绘图对象 pl 检查 xlabel 的内容。我想我可以说
disp(all(pl.xlabel == "something"))
但是,我收到一条错误消息,指出 xlabel 不属于绘图对象。
如果只有一个坐标轴对象,可以用gca获取当前坐标轴对象,然后通过坐标轴对象获取标签等。
ax = gca
disp(get(get(ax, "XLabel") "String"))
如果您在不同的图形上有多个绘图并且没有图形句柄,您可以在获取图形的地方执行以下操作,而不是直接使用 gca:
p1 = plot((1:10).^2);
p2 = plot((1:10).^4);
xlabel('Matt');
fig = ancestor(p1, 'figure');
ax = get(fig, "CurrentAxes");
disp(get(get(ax, "XLabel") "String"))