Mathematica中文论坛-非官方

标题: 3D空间中多条曲线显示和标注 [打印本页]

作者: meatball1982    时间: 2016-4-9 18:36
标题: 3D空间中多条曲线显示和标注
在3D空间中,画多条平行的曲线,用不同的color进行标注。

两种方法都挺好的。比如 
patch
或是
plot3

  1. clear all
  2. clc
  3. clf

  4. n=6;

  5. % generate color
  6. % col_mm=summer(6);
  7. col_mm=jet(n);

  8. % gen data
  9. x=linspace(1,20,300);
  10. for i=1:n
  11.     z(i,:)=exp(1./x)+0.2*sin(x)+rand(size(x))+1;
  12. end

  13. tm=randperm(n+5);
  14. y=tm(1:n);


  15. % plot each line with patch,
  16. % hold on
  17. % for i=1:n
  18. %     pl_x=[x(1),x,x(end),x(1)];
  19. %     pl_y=y(i)*ones(length(x)+3,1);
  20. %     pl_z=[0,z(i,:),0,0];
  21. %     patch(pl_x,pl_y,pl_z,...
  22. %         col_mm(i,:),'edgecolor','none');
  23. %     leg_str{i}=['i am ',mat2str(i),' line'];
  24. % end
  25. %
  26. % view(40,60)
  27. % grid on
  28. % axis tight
  29. % legend(leg_str,'location','southwestoutside')
  30. % h=gcf;
  31. % set(h,'position',[600,200,800,500]);
  32. %
  33. %

  34. close all
  35. hold on
  36. for i=1:n
  37.     pl_x=[x];
  38.     pl_y=y(i)*ones(length(x),1);
  39.     pl_z=[z(i,:)];
  40.     plot3(pl_x,pl_y,pl_z,...
  41.        'color',col_mm(i,:));
  42.     leg_str{i}=['i am ',mat2str(i),' line'];
  43. end

  44. view(40,60)
  45. grid on
  46. axis tight
  47. legend(leg_str,'location','southwestoutside')
  48. h=gcf;
  49. set(h,'position',[600,200,800,500]);

复制代码


fig_DY_multi.jpg (167.87 KB, 下载次数: 864)

fig_DY_multi.jpg

fig_DY_multi_line.jpg (221.32 KB, 下载次数: 872)

fig_DY_multi_line.jpg





欢迎光临 Mathematica中文论坛-非官方 (http://www.ilovemathematica.com/) Powered by Discuz! X3.2