gpt4 book ai didi

octave - 在 Octave 中定义自定义线条样式以用于多个图形

转载 作者:行者123 更新时间:2023-12-01 22:57:33 24 4
gpt4 key购买 nike

我想在Octave中定义线条样式(例如gnuplot中)以供进一步使用:

我在想这样的事情:

styles = {['color',[.5 .2 .8],'--', 'linewidth', 1.25], ['or', markersize, 4], 
['-sb', markersize, 2]}

plot (x,y, styles{1})
plot (x,y, styles{2})

等等。但是这样的事情没有用。有人对如何解决这个有什么建议吗?

提前致谢。

最佳答案

让我们看一下MATLAB的功能并复制思想:您可以使用Comma-Separated Lists as Function Call Arguments。实际上,有一个示例准确描述了您想要实现的目标。但是,要使此功能按您希望的那样工作,还必须正确地“分解” LineSpec 。请参阅以下代码片段,以获取您给出的示例的解决方案。

x = linspace(0, 2*pi, 50);

% styles = {['color',[.5 .2 .8],'--', 'linewidth', 1.25], ['or', markersize, 4], ['-sb', markersize, 2]}

styles = {
{'Color', [.5 .2 .8], 'LineStyle', '--', 'LineWidth', 1.25}, ...
{'Color', 'r', 'Marker', 'o', 'MarkerSize', 4}, ...
{'Color', 'b', 'LineStyle', '-', 'Marker', 's', 'MarkerSize', 2} ...
};

figure(1);
hold on;

for ii = 1:numel(styles)
plot(x, sin(x + ii * pi/4), styles{ii}{:});
end

hold off;

legend();

并且,这是示例输出:

Exemplary output

关于octave - 在 Octave 中定义自定义线条样式以用于多个图形,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55586513/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com