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');
运行结果如下:
详见: