问题描述

  • 想标出下面曲线中某些特殊的点

image.png

解决方案

  • 分两次plot,一次是全部的点,一次是你需要标记的点,记得hold on就ok了。
  • 在绘制完上面两条曲线后
    • hold on
    • 用循环判断
    • 一个点一个点的绘制
    • 可以设置绘制的标记点的颜色、形状、大小,参考链接
      • ‘MarkerSize’,8
      • ‘MarkerEdgeColor’,’b’
      • ‘MarkerFaceColor’,[0.5,0.5,0.5]
  • 最终效果
    • image.png
  • 测试代码 ```matlab clc;clear all;close all; y=[9015,8848,8822,7485,8540,8252,7993,8536,669,5620,907,313,765,1004,8989,2991,703,1590,7180,9136,6816,9065,9002]; yr=[9124.046875,8786.291016,8338.423828,8083.894531,8186.080078,8509.376953,8670.788086,8283.386719,7240.817383,5854.158203,4736.520996,4486.240723,5349.107422,7061.093262,8970,10369.47461,10853.16797,10487.73633,9715.476563,9060.446289,8824.884766,8957.313477,9156.575195]; p=[1,1,1,1,1,1,0,1,0,1,0,0,0,0,1,0,0,0,0,1,0,1,1];

%% 绘图 ts = 1:23; fig = figure; % 新建一个figure,并将图像句柄保存到fig p1=plot(ts,y/10000,’-xb’); p1.LineWidth=1; title_name = [‘Original vs Reconstructed’]; title(title_name); xlabel(‘NDVI time series Index’);ylabel=’NDVI’; xlim=[0,23];ylim=[0,1]; set(gca,’xtick’,1:1:23) % handles可以指定具体坐标轴的句柄 set(gca,’ytick’,0:0.1:1) % handles可以指定具体坐标轴的句柄 axis([0 24 0 1]);%axis([xmin xmax ymin ymax]),设置绘制区域的范围

hold on; p2=plot(ts,yr/10000,’-or’); p2.LineWidth=1;

% %% 一个点测试 % hold on; % plot(1,yr(1)/10000,’gs’);

%% 多点标注 for i = 1:23 if p(i)==1 hold on; plot(i,y(i)/10000,’gs’,’MarkerSize’,8,’MarkerEdgeColor’,’g’,’MarkerFaceColor’,[0.5,0.5,0.5]); %g绿色 s方块 注意要/10000,hold on一般没问题,一个点都出不来的话,就可能是数据的问题 end end

%% 绘制图例 legend({‘Original’,’Reconstructed’,’参与重建的点’},’Location’,’best’);

  1. <a name="btzi1ef-2"></a>
  2. ### 指定线宽、标记大小和标记颜色
  3. - [https://ww2.mathworks.cn/help/matlab/ref/plot.html](https://ww2.mathworks.cn/help/matlab/ref/plot.html?searchHighlight=plot%20%E7%82%B9%20%E5%B1%9E%E6%80%A7&s_tid=srchtitle)
  4. - 创建线图并使用 `LineSpec` 选项指定带正方形标记的绿色虚线。使用 `Name,Value` 对组来指定线宽、标记大小和标记颜色。将标记边颜色设置为蓝色,并使用 RGB 颜色值设置标记面颜色。
  5. ```matlab
  6. x = -pi:pi/10:pi;
  7. y = tan(sin(x)) - sin(tan(x));
  8. figure
  9. plot(x,y,'--gs',...
  10. 'LineWidth',2,...
  11. 'MarkerSize',10,...
  12. 'MarkerEdgeColor','b',...
  13. 'MarkerFaceColor',[0.5,0.5,0.5])

image.png