簡體   English   中英

在Octave中定義自定義線型以用於多個圖形

[英]Define custom linestyles in Octave for use on multiple figures

我想在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的工作並復制思想:您可以將逗號分隔的列表用作函數調用參數 實際上,有一個示例准確描述了您想要實現的目標。 但是, LineSpec此功能按您希望的那樣工作,還必須正確地“分解” 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();

並且,這是示例輸出:

示范輸出

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM