MATLAB 如何对 figure 中的曲线属性进行修改?

时间:2024-02-15 11:57:07

针对已经绘制好的figure,如何修改曲线的属性,如颜色、线性、标记符号?

结果如下:

处理之前:

2019-10-22_125344

美化之后:

2019-10-22_123154

思路:首先选中目标属性,调用句柄来逐级选择,即 figure – axis – line ;

具体程序如下:

set(0,\'defaultfigurecolor\',\'w\');%设置图片默认背景为白色
h_f=gcf;%选中当前图片句柄
h_a=gca;%选中坐标轴句柄
h_lines=get(h_a,\'Children\');%选中曲线句柄
set(h_lines(1,1),\'LineStyle\',\'-.\',\'Color\',[0 0 1],\'LineWidth\',1.5,\'Marker\',\'o\',\'MarkerSize\',10.0,\'MarkerFaceColor\',\'none\',\'MarkerEdgeColor\',[0 0 1],\'MarkerIndices\',1:5:500);%设置曲线2的属性
set(h_lines(2,1),\'LineStyle\',\'-\',\'Color\',[25 141 25]/255,\'LineWidth\',1.5,\'Marker\',\'^\',\'MarkerSize\',10.0,\'MarkerFaceColor\',\'none\',\'MarkerEdgeColor\',[25 141 25]/255,\'MarkerIndices\',1:5:500);%设置曲线1的属性
set(gca,\'XTick\',0:500:2000,\'YTick\',0:0.2:1,\'FontSize\',28,\'FontName\',\'Arial\');%设置坐标轴取值范围
xlabel(\'Time (units of \tau)\',\'FontName\',\'Euclid\',\'FontSize\',36,\'FontWeight\',\'Bold\');%设置x轴标签
ylabel(\'Intensity {\itf} ^2 ({\ita}. {\itu}.)\',\'FontName\',\'Euclid\',\'FontSize\',36,\'FontWeight\',\'Bold\');%设置y轴标签
axis([0 2000 -0.05 1.05]);%设置坐标轴取值范围
lgd1=legend({\'\Omega_{\itc}/\Omega_{0}\',\'\theta\'},\'Location\',\'Northeast\',\'FontSize\',28,\'FontName\',\'Euclid\',\'TextColor\',\'black\');%设置图例
legend(\'boxon\');%设置图例边框-打开
grid on;%打开网格线

线型符   表示

  -          实线

--         虚线

  -.        点划线

  :          点线

none     无线

标记符    表示

+           加号

o           圆圈

  *          星号

  .            点

  x          叉号

  s         正方形 square

d          菱形 diamond

^         正三角

v          倒三角

>         右三角

<         左三角

p         五角星 pentagram

h         六角星 hexagram

颜色     表示

g        绿

m      品红

b        蓝

c        灰

w       白

r        红

k       黑

y       黄

注:可以使用 \'Color\',[79 25 182]/255 来设置,[ ]里填入RGB颜色值即可。

例如:

x = -5:.1:5; 
y = sin(x); 
y1=tanh(x);
y2=cos(x);
y3=exp(x);
y4=0.5*x;
y5=-0.5*x;
y6=0.1*x.^2;
y7=1./x;
y8=sinh(x);
y9=cosh(x);
set(0,\'defaultfigurecolor\',\'w\');
figure;
plot(x,y,\'-o\'); 
hold on;
plot(x,y1,\'-^\'); 
plot(x,y2,\'-+\'); 
plot(x,y3,\'-*\'); 
plot(x,y4,\'-.\'); 
plot(x,y5,\'-x\'); 
plot(x,y6,\'-s\'); 
plot(x,y7,\'-d\'); 
plot(x,y8,\'-p\'); 
plot(x,y9,\'-h\'); 
axis([-5 5 -1 1]);
legend(\'sin(x)\',\'tanh(x)\',\'cos(x)\',\'e^x\',\'0.5x\',\'-0.5x\',\'0.1x^2\',\'1/x\',\'sinh(x)\',\'cosh(x)\');
xlabel(\'x\');
ylabel(\'y\');

运行结果如下:

2019-10-22_164501

 

详见:

http://blog.sina.com.cn/s/blog_897aeb0d0102zpoq.html