爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 4083|回复: 0

MeteoInfoLab脚本示例:调整坐标轴位置

[复制链接]

新浪微博达人勋

发表于 2019-7-3 16:21:20 | 显示全部楼层 |阅读模式

登录后查看更多精彩内容~

您需要 登录 才可以下载或查看,没有帐号?立即注册 新浪微博登陆

x
MeteoInfoLab里坐标轴的设置用 xaxis 和 yaxis 函数,position参数(tuple,包括位置类型和值)可以调整坐标轴的位置,支持的位置类型为:'outerward', 'axes', 'data'。比如要将 x 坐标轴放在y数据0位置上:xaxis(position=('data', 0)) 。下面的例子只显示左和下坐标轴,坐标轴的位置调整到数据0值。

  1. X = np.linspace(-np.pi, np.pi, 256, endpoint=True)
  2. C = np.cos(X)
  3. S = np.sin(X)
  4. t = 2 * np.pi / 3

  5. plt.axes(outerposition=[0,0,1,1])
  6. lcosine = plt.plot(X, C, color='blue', linewidth=2.5, linestyle='-', label='cosine')
  7. plt.plot([t,t],[0,np.cos(t)], color='blue', linewidth=2.5, linestyle="--")
  8. plt.scatter([t,],[np.cos(t),], s=6, color ='blue', edgecolor=None)
  9. plt.annotate(r'$\rm cos(\frac{2\pi}{3})=-\frac{1}{2}$',
  10.          (t, np.cos(t)), (t*0.5, np.cos(t)-0.2), fontsize=18, xalign='center',
  11.          yalign='top',
  12.          arrowprops=dict(linewidth=1, headwidth=8, shrink=0.05, overhang=1))

  13. lsine = plt.plot(X, S, color='red', linewidth=2.5, linestyle='-', label='sine')
  14. plt.plot([t,t],[0,np.sin(t)], color='red', linewidth=2.5, linestyle="--")
  15. plt.scatter([t,],[np.sin(t),], s=6, c='red', edgecolor=None)
  16. plt.annotate(r'$\rm sin(\frac{2\pi}{3})=\frac{\sqrt{3}}{2}$',
  17.          (t, np.sin(t)), (t+0.1, np.sin(t)+0.2), fontsize=18, xalign='left',
  18.          arrowprops=dict(linewidth=1, headwidth=8, shrink=0.05, overhang=1))

  19. plt.xaxis(location='top', visible=False)
  20. plt.xaxis(location='bottom', position=('data',0))
  21. plt.yaxis(location='right', visible=False)
  22. plt.yaxis(location='left', position=('data',0))

  23. plt.xlim(X.min() * 1.3, X.max() * 1.3)
  24. plt.xticks([-np.pi, -np.pi/2, 0, np.pi/2, np.pi],
  25.   [r'$-\pi$', r'$-\pi/2$', r'$0$', r'$+\pi/2$', r'$+\pi$'])

  26. plt.ylim(C.min() * 1.3, C.max() * 1.3)
  27. plt.yticks([-1, 0, +1], [r'$-1$', r'$0$', r'$+1$'])

  28. plt.legend([lcosine, lsine], loc='upper left')


axis_position.png
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

Copyright ©2011-2014 bbs.06climate.com All Rights Reserved.  Powered by Discuz! (京ICP-10201084)

本站信息均由会员发表,不代表气象家园立场,禁止在本站发表与国家法律相抵触言论

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