Matlab用plot如何分别设置多条线宽?

在Matlab中用plot画了三条线
x=0:870;
y=x;
m=475;
n=0:490;
a=475:1000;
b=0;
plot(x,y);
hold on;
plot(m,n,'linewidth',10);
hold on;
plot(a,b);
但是发现只能设置第一条线宽,后两条线宽不能设置(linewidth没用)。把第一条线的程序屏蔽了也没用。求教各位大神!

原先的m和b只是一个点,所以画不出线,把m和b换成与n和a数量相同的点,就可以画出来,设置线型也要每个都设置。

程序:

温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-09-23
一、Matlab绘图中用到的直线属性包括:
(1)LineStyle:线形
(2)LineWidth:线宽
(3)Color:颜色
(4)MarkerType:标记点的形状
(5)MarkerSize:标记点的大小
(6)MarkerFaceColor:标记点内部的填充颜色
(7)MarkerEdgeColor:标记点边缘的颜色

1、线形
标记符 线形
- 实线
-- 虚线
: 点线
-. 点横线

2、点形
标记符 点形
+ 加号
o 圆圈
* 星号
. 实心点
x 叉号
s 正方形
d 钻石形
^ 上三角形
v 下三角形
> 右三角形
< 左三角形
p 五角星形
h 六角星形

3、颜色
标记符 颜色
r
g 绿
b
c 蓝绿
m 紫红
y
k
w

二、描绘不同的直线
当我们需要对不同类别的数据点进行连线的时候,可以设置以下属性来区分不同类别的点和相应的直线:
(1)LineStyle:线形
(2)MarkerSymbol:点形
(3)Color:颜色
例如:
plot(x,y,'-.or','MarkerFaceColor','g')
其中线形为点横线,数据点形状为圆圈,线条和数据点边缘的颜色都是红色,数据点的填充颜色为绿色。
三、描绘数据点的分布
有时候我们希望画出数据点的分布情况,不需要画出这些点之间的连线,则可以按以下方式实现:
plot(x,y,'d')
即只定义数据点的点形。
最后给出一个例子说明怎样运用以上属性来画图
plot(t,sin(2*t),'-mo',...
'LineWidth',2,...
'MarkerEdgeColor','k',...
'MarkerFaceColor',[.49 1 .63],...
'MarkerSize',12)
第2个回答  2012-11-09
>> x=0:870;
>> y=x;
>> n=0:490;
>> m=475*ones(1,length(n));
>> a=475:1000;
>> b=zeros(1,length(a));
>> plot(x,y,'linewidth',2)
>> hold on
>> plot(m,n,'linewidth',10);
>> plot(a,b,'linewidth',15);
>>
看看是不是这样的本回答被提问者和网友采纳