MATLAB 如何对 figure 中的曲线属性进行修改?
针对已经绘制好的figure,如何修改曲线的属性,如颜色、线性、标记符号?
结果如下:
处理之前:
美化之后:
思路:首先选中目标属性,调用句柄来逐级选择,即 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\');
运行结果如下:
详见: