簡體   English   中英

MATLAB:如何使用帶有矩陣輸入的plot()指定線屬性? 即plot([x1 x2 x3],[y1 y2 y3])

[英]MATLAB: How Do I Specify Line Properties using plot() w/ Matrix Input? i.e. plot([x1 x2 x3],[y1 y2 y3])

在matlab中,您可以將plot()與矩陣輸入一起使用,這非常快速且方便。 但是,當我嘗試確定線路時,我找不到方法。 我一直堅持不懈地分解自己的工作,然后很努力地為每個部分提供規格。

范例:

clear; clc;

x = [1 2 3;
     4 5 6;
     7 8 9];
y = [1 4 7;
     2 5 8;
     3 6 9];

 subplot(2,1,1)
 plot(x,y)

 subplot(2,1,2)
 plot(x(:,1),y(:,1),':.',...
 x(:,2),y(:,2),'--',...
 x(:,3),y(:,3),':.b')

如何在不分解子圖2的情況下指定子圖一?

您可以使用plot返回的線手柄/對象分別設置屬性。 如果您使用的是Matlab R2014b或更高版本,則將返回一個線對象數組,並且可以使用點符號對其進行操作:

 h = plot(x,y);
 %
 h(1).LineStyle = ':';
 h(1).Marker    = '.';
 %
 h(2).LineStyle = '--';
 %
 h(3).Color     = 'b';
 h(3).LineStyle = ':';
 h(3).Marker    = '.';

對於返回行句柄數組的舊版本,您可以一次直接set一個值:

h = plot(x,y);
set(h(1),'LineStyle',':','Marker','.');
set(h(2),'LineStyle','--');
set(h(3),'Color','b','LineStyle',':','Marker','.');

或一次使用名稱和值數組

 h = plot(x,y);
names = {'LineStyle','Marker','Color'};
values = {
    ':'  , '.'    , get(h(1),'Color');
    '--' , 'none' , get(h(2),'Color');
    ':'  , '.'    , 'b'
    };
set(h,names,values);

請注意,所有set解決方案也適用於R2014 +版本。

暫無
暫無

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

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