MATLAB|輔助直線繪制程序

1. 問題描述

這是一個沒有難度,但經(jīng)常出現(xiàn)的問題。
在MATLAB繪圖中,除了基本的數(shù)據(jù)繪圖,我們往往需要繪制輔助性直線,例如:

mark

2. 技術背景

MATLAB中繪制這樣的直線很簡單,只需確定兩個點即可。但是要確定貫通方向的坐標范圍,較為繁瑣,還需要根據(jù)主體數(shù)據(jù)進行調整。

3. 解決方案

繪制完主體圖像后,直接從axes對象中提取坐標范圍,用于確定繪制直線的數(shù)據(jù)。

4. 實施示例

繪圖程序代碼如下,可以在任意圖像之后直接運行,繪制輔助直線。

function xline(position,lineSpec)
% 題目:輸入MATLAB默認顏色向量
% 輸入:
%       position    -- [x y],[1 0]在x=1處繪制豎線,[0 1]在y=1處繪制橫線
%       lineColor   -- 'r'
% 輸出:顏色向量
% 示例:
%       xline([0 6],'r-')

if nargin < 2                                                                   % 自動補充lineSpec
    lineSpec = 'k-.';
end

if position(1) == 0                                                             % 橫線
    y0 = position(2)*[1 1]';
    x0 = get(gca,'Xlim')';
else                                                                            % 豎線
    x0 = position(1)*[1 1]';
    y0 = get(gca,'Ylim')';
end
hold on
plot(x0,y0,lineSpec);                                                   % 繪制
end % end of line

以一個正弦圖像為例,繪制要在 x = pi/2,y = sin(pi/4)的位置繪制直線,只需要:

clc,clear,close all
t = 0:pi/40:2*pi;                                                               % 基本數(shù)據(jù)
y = sin(t);

figure
plot(t,y)                                                                       % 正弦曲線

xline([pi/2,0])                                                                 % 豎向直線
xline([0,sin(pi/4)])                                                            % 橫向直線
mark

5. 常見問題

本文用時 10 m

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容