針對已經繪制好的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');
運行結果如下:
詳見: