matlab曲线颜色样式设置

f1=figure;
x=[0:pi/10:2*pi];
for i=1:3
plot(x,sin(i*x));
hold on;
end
画出的曲线如图
怎么样才能在循环语句里添加代码,让3条(或者更多)曲线颜色或样式不同呢?如果想加标签图例,如何在此循环中使用legend呢?
还有个问题,画柱状图时如何控制颜色的渐变方向呢?比如柱子越高颜色越深。
请各位大侠不吝赐教~~

%方法一: 调用系统默认颜色

n = 4;  %how much number of color to use

c = colormap(jet(n));  %number of color in figure

c1 = 0;

for i = 1:M

    c1 = c1 + 1;

    figure(1);

    semilogy(x, y, 'Color', c(c1,:));

    hold on;

end

%方法二: 按自己需求设置颜色、线型和标记符

color = {'r', 'g', 'b', 'c', 'm', 'y', 'k', 'w', 'r', 'g', 'b'};  %颜色

linestyle = {'-.', '-', '--', ':', '-.', '-', '--', ':', '-.', '-', '--'};  %线型

markerstyle = {'+', 'o', '*', '.', 'x', 's', 'd', '^', 'v', '<', '>'};  %标记符

for i = 1:M

    c1 = c1 + 1;

    figure(1);

    semilogy(x, y, 'Color', char(color(i));

    hold on;

end

扩展资料:

绘制基础曲线

close all;clear all;clc;  %关闭所有图形窗口,清除工作空间所有变量,清空命令行

x=0:0.02:10;

y1=sin(x);

y2=2*sin(x);

plot(x,y1,'b*:',x,y2,'r+-');  %设置颜色、标记和线型

axis([0 pi 0 2]);            %设置坐标轴

title('正弦曲线');           %设置标题行

xlabel('时间/单位:秒');     %设置横坐标

ylabel('电压/单位:伏特');   %设置纵坐标

gtext('y1=sin(x)');         %在图中鼠标指定位置添加文字y1=sin(x)

gtext('y2=2*sin(x)');       %在图中鼠标指定位置添加文字y2=2*sin(x)

温馨提示:内容为网友见解,仅供参考
第1个回答  推荐于2017-11-23
你好 这是我总结的画图资料
比如画一条蓝色的x号线
plot(x,y,'bg')
画图:
线形:-实线 -. 点划线 --长虚线 :短虚线
符号 颜色 符号 线形
b 蓝 . 点
c 青 。 圈
g 绿 × ×标记
k 黑 - 实线
m 紫红 * 星号
r 红 : 点线
w 白 -. 点划线
y 黄 -- 虚线
上下标: ^{任意字符} _{任意字符}
figure,title('\ite^{-t}sint'); %% \it表示斜体
figure,title('x~{\chi}_{\alpha}^{2}(3)');
Matlab中给图形添加希腊字母

\alpha \beta \gamma \delta \epsilon \zeta \eta \theta \iota \kappa \lambda \mu \nu \xi \omicron \pi \rho \sigma \tau \upsilon \phi \chi \psi \omega
大写 小写 英文注音 国际音标注音 中文注音
1 Α α alpha a:lf 阿尔法
2 Β β beta bet 贝塔
3 Γ γ gamma ga:m 伽马
4 Δ δ delta delt 德尔塔
5 Ε ε epsilon ep`silon 伊普西龙
6 Ζ ζ zeta zat 截塔
7 Η η eta eit 艾塔
8 Θ θ theta θit 西塔
9 Ι ι iota aiot 约塔
10 Κ κ kappa kap 卡帕
11 ∧ λ lambda lambd 兰布达
12 Μ μ mu mju 缪
13 Ν ν nu nju 纽
14 Ξ ξ xi ksi 克西
15 Ο ο omicron omik`ron 奥密克戎
16 ∏ π pi pai 派
17 Ρ ρ rho rou 肉
18 ∑ σ sigma `sigma 西格马
19 Τ τ tau tau 套
20 Υ υ upsilon jup`silon 宇普西龙
21 Φ φ phi fai 佛爱
22 Χ χ chi phai 西
23 Ψ ψ psi psai 普西
24 Ω ω omega o`miga 欧米伽
matlab中使用legend的时候,不让其显示边框:
legend('boxoff')
画线多条线
line([x1;x2;...],[y1;y2;...]) %画线条
[mag,phase,w]=bode(g0,'k-.',{0.01,1000}); 得到的 mag为三维数组,可以用AA=mag(:,:,:)'求转置的方法得到其中的单列数据。
设置默认线型的粗细
set(0,'DefaultLineLineWidth',1);
% set(0,'DefaultAxesColorOrder',[0 0 0])
set(0,'DefaultAxesLineStyleOrder',('-|--|:|-.'));
set(0, 'DefaultAxesFontSize', 14);

至于你最后一个问题 百度搜索一下matlab四维表现教程 学习一下即可 在此没法多说本回答被提问者采纳
第2个回答  2012-09-25
可以先设color=['b','k','r']; 之后在循环的plot里加上
plot(x,sin(i*x),color(i));
再复杂一点就这样
h=plot(x,sin(i*x))
set(h,'color',[0.1*i 0.1*i 0.1*i]);
后面三个数字的行向量是颜色映像,可以自己任意设了。

后一个问题参看
M=rand(30,20);

figure

subplot(1,2,1)

h=bar3(M)

for n=1:numel(h)

cdata=get(h(n),'zdata');
set(h(n),'cdata',cdata,'facecolor','interp')

end

subplot(1,2,2)

h=bar3(M)

for n=1:numel(h)

cdata=get(h(n),'zdata');
cdata=repmat(max(cdata,[],2),1,4);
set(h(n),'cdata',cdata,'facecolor','flat')

end
第3个回答  2012-08-10
例如你要画三条不同颜色的曲线,函数值分别为y,z,w,横坐标(x)都相同的话,可以用plot(x,y,x,z,x,w) 这样就用出现不同的颜色的曲线,在用legend('y','z','w')就会标注相对应的曲线的,标注时,y,z,w的顺序一定得和plot里的顺序一样
相似回答