我在使用 Ubuntu 14.04 LTS 附带的默认 GNU Octave (3.8.1) 生成高质量图时遇到了很大的麻烦。我正在尝试重新运行一些现有代码(数千行代码)并且代码已损坏,因为到处都有带有图例的中间图。我知道代码库是合法的 GNU Octave 代码。
这是一个最小的崩溃示例:
graphics_toolkit('gnuplot') # I need this for TeX-like labels,
# but I doubt this cause a trouble with legend
R = 2000;
N = R/4;
t = (0:N-1)/R;
figure # plot without legend which works fine
plot(t*1000, sin(2*pi*100*t), 'b')
xlabel('t ms')
ylabel('p_e Pa')
figure # plot with legend which crash
plot(t*1000, sin(2*pi*100*t), 'b; sine wave;')
xlabel('t ms')
ylabel('p_e Pa')
这是 GNU Octave 中的输出:
>> error: invalid value = northeast
>> error: set: invalid value for radio property "location" (value = northeast)
>> error: called from:
>> error: /usr/share/octave/3.8.1/m/plot/appearance/legend.m at line 995, column 11
>> error: /usr/share/octave/3.8.1/m/plot/draw/private/__plt__.m at line 149, column 7
>> error: /usr/share/octave/3.8.1/m/plot/draw/plot.m at line 220, column 10
Steeldriver,你拯救了我的周末。非常感谢!我遇到了与中的错误相同的问题
移除包裹就足够了
来自 Ubuntu 软件包存储库。似乎默认的 GNU Octave 包与默认存储库中的所有 Octave-Forge“附加”包都不兼容。你能通过安装那个包来重现这个错误吗?也许应该在某处报告这种不一致。
顺便说一句,输出
曾是
和输出
是
我有同样的问题,当删除八度弦时导致其他错误。因此,我使用了“try”语句,如下所示:
这似乎可以解决问题。