Mathematica中文论坛-非官方

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 活动 交友 discuz
查看: 9740|回复: 0
打印 上一主题 下一主题

豆粑粑 matlab 坐标轴Yticklabel 中字体 负号 减号 加长

[复制链接]

550

主题

629

帖子

3181

积分

论坛元老

Rank: 8Rank: 8

积分
3181
跳转到指定楼层
楼主
发表于 2017-3-2 10:56:22 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
别人的一个问题,相当的麻烦,也是,太容易的话,徐已经可以搞定了。一个论文的编辑要把纵轴的'-'号变长。我倒。
于是,通过text 函数和latex重写了一次yticklabel。并通过
'--'和'---'设置负号的长度。




  1. clear all
  2. clc
  3. clf

  4. data1=[10 25 -13 85 35 16];
  5. data_x =[-3 -1 0 1 2 5];
  6. data1=-data1;


  7. h=figure(1)
  8. set(h, 'Position', [1000, 100, 400 400]);

  9. plot(data_x,data1)
  10. % axis tight
  11. ax=gca;
  12. ax_p=axis;
  13. y_mm=ax.YTick;
  14. y_str=ax.YTickLabel;

  15. x_mm=ax.XTick;
  16. x_str=ax.XTickLabel;
  17. set(ax,'yticklabel',[])
  18. set(ax,'xticklabel',[])

  19. hold on

  20. xoffset = 0.1;
  21. yoffset = 5;
  22. mm_fs=16;

  23. for i=1:length(x_mm)
  24.     if x_mm(i)<0
  25.         tm=x_str(i);
  26.         tm2=tm{1};
  27.         str_mm=['\textbf{--}',tm2(2:end)];
  28.         t=text(x_mm(i),ax_p(3)- yoffset,str_mm,'Interpreter','latex','fontsize',mm_fs);
  29.         
  30.     else
  31.         t=text(x_mm(i),ax_p(3)- yoffset,mat2str(x_mm(i)),'Interpreter','latex','fontsize',mm_fs);
  32.     end
  33.     t.HorizontalAlignment='center';
  34.         
  35. end

  36. %
  37. for i=1:length(y_mm)
  38.     if y_mm(i)<0
  39.         tm=y_str(i);
  40.         tm2=tm{1};
  41.         str_mm=['---',tm2(2:end)];
  42.         t=text(ax_p(1) - xoffset,y_mm(i),str_mm,'Interpreter','latex','fontsize',mm_fs);
  43.         t.HorizontalAlignment='right';
  44.     else
  45.         t=text(ax_p(1) - xoffset,y_mm(i),mat2str(y_mm(i)),...
  46.             'Interpreter','latex','fontsize',mm_fs);
  47.         t.HorizontalAlignment='right';
  48.     end
  49. end

  50. t=text(-2,-30,'-10','Interpreter','latex','fontsize',mm_fs)
  51. t.HorizontalAlignment='right';
  52. t=text(-2,-40,'--10','Interpreter','latex','fontsize',mm_fs)
  53. t.HorizontalAlignment='right';
  54. t=text(-2,-50,'\textbf{--}10','Interpreter','latex','fontsize',mm_fs)
  55. t.HorizontalAlignment='right';
  56. t=text(-2,-60,'---10','Interpreter','latex','fontsize',mm_fs)
  57. t.HorizontalAlignment='right';
  58. t=text(-2,-70,'\textbf{---}10','Interpreter','latex','fontsize',mm_fs)
  59. t.HorizontalAlignment='right';
  60. h=gcf;
  61. fig_na=['./fig_length_min'];
  62. fun_work_li_035_myfig_out(h,fig_na,3)


  63. % print 'fig_min_leng.png' '-dpng'

  64. % plot(data1)
  65. % t = title('hi')
  66. % set(t, 'horizontalAlignment', 'right')
  67. % set(t, 'units', 'normalized')
  68. % h1 = get(t, 'position')
  69. % set(t, 'position', [1 h1(2) h1(3)])
复制代码



复制代码


分享到:  QQ好友和群QQ好友和群 QQ空间QQ空间 腾讯微博腾讯微博 腾讯朋友腾讯朋友
收藏收藏
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|Mathematica中文论坛-非官方 ( 辽ICP备16001491号-1

GMT+8, 2024-12-29 22:07 , Processed in 0.104200 second(s), 26 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表