Matlab 绘制多条曲线,方法!

Matlab 提供了一下几种线型

Matlab 绘制多条曲线,方法!_第1张图片

Matlab提供了几种Marker?10几种
Matlab 绘制多条曲线,方法!_第2张图片

每次画曲线都要想要用那种线型,很麻烦,可以写个函数,把所有的线型,marker什么的信息都输出。
function [linestyles,MarkerEdgeColors,Markers]= generate_line_styles(n)
% generate the space of linestyles, MarkerEdgeColors,Markers
basic_linestyles = cellstr(char('-',':','-.','--'));
basic_Markers    = cellstr(char('o','x','+','*','s','d','v','^','<','>','p','h','.'));
MarkerEdgeColors = jet(n);
linestyles       = repmat(basic_linestyles,ceil(n/4),1);
Markers          = repmat(basic_Markers,ceil(n/13),1);
end

这样要画曲线时,调用函数  [linestyles,MarkerEdgeColors,Markers]= generate_line_styles(n)
获得你可以使用的线型,颜色还有标记。
举例如下:
z=peaks;
plot(z);
matlab自动为每条曲线分配颜色。
Matlab 绘制多条曲线,方法!_第3张图片

%调用generate_line_styles函数
n=length(z);
[linestyles,MarkerEdgeColors,Markers]=generate_line_styles(n);

figure;

for i=1:n

    plot(z(i,:),[linestyles{i} Markers{i}],'Color',MarkerEdgeColors(i,:));

    hold on

end
%使用不用线型,不同标记,不同颜色,效果如下
Matlab 绘制多条曲线,方法!_第4张图片

figure;
for i=1:n

    plot(z(i,:),[linestyles{i}],'Color',MarkerEdgeColors(i,:));

    hold on

end
%使用不用线型,不同颜色,效果如下
Matlab 绘制多条曲线,方法!_第5张图片
figure;
for i=1:n
       plot(z(i,:),'Color',MarkerEdgeColors(i,:));

    hold on

end

%仅使用不同颜色,效果如下:

Matlab 绘制多条曲线,方法!_第6张图片

哪种效果更好呢?

你可能感兴趣的:(matlab,开发语言)