爱气象,爱气象家园! 

气象家园

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博登陆

只需一步, 快速开始

搜索
查看: 2954|回复: 1

请教王老师双X轴的问题

[复制链接]

新浪微博达人勋

发表于 2018-4-24 19:56:04 | 显示全部楼层 |阅读模式

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

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

x
假设双轴,其底部刻度为['1', '3', '5', '7', '9'] 其顶部刻度对应为其倒数乘以20,即['20.0', '6.7', '4.0', '2.9', '2.2']如果 x1= arange(1,11,2.0) xlbl = ['20.0', '6.7', '4.0', '2.9', '2.2']
那么这条语句xticks(x1,xlbl),可以标注底部轴刻度值分别为xlbl的值。如何使得 xlbl的值标注到顶部。



密码修改失败请联系微信:mofangbao

新浪微博达人勋

发表于 2018-4-24 22:59:12 | 显示全部楼层
  1. table = readtable('D:/Temp/ascii/temp.csv', delimiter=',', format='%s%f')
  2. xt = table['temp']
  3. #print xt
  4. n = len(xt)
  5. m = n/2
  6. ind = arange(m+1)
  7. ak = zeros(m+1)
  8. bk = zeros(m+1)
  9. sksq = zeros(m+1)
  10. ak[0] = sum(xt)/n
  11. for k in arange(1,m+1):
  12.     for t in arange(0,n):   
  13.         ak[k] = ak[k] + xt[t]*cos((2*pi*k*t)/n)
  14.         bk[k] = bk[k] + xt[t]*sin((2*pi*k*t)/n)
  15.     ak[k] = ak[k]*2/n
  16.     bk[k] = bk[k]*2/n
  17.     sksq[k] = (ak[k]*ak[k]+bk[k]*bk[k])/2
  18. #print sksq
  19. width = 0.1
  20. ax1=axes()
  21. y = arange(0,2.0,0.5)
  22. x1 = arange(1,12,2.0)
  23. x2 = 20/x1
  24. ind = ind - width * 0.5
  25. bar(ind,sksq,width,color='r', edgecolor=None)
  26. yaxis(tickin=False)
  27. xaxis(tickin=False)
  28. yticks(y)
  29. xticks(x1)
  30. xlabel('k')
  31. ylabel(r'$\rm(S^2)

  32. , fontname='Arial')
  33. xlim(0,12)

  34. ax2 = twiny(ax1)
  35. xaxis(location='top',tickin=False)
  36. xlabel('T(year)',bold=False)
  37. xlim(0,12)
  38. xticks(x1, ['%.1f' % xx for xx in x2])
  39. title('xx test')
  40. #antialias(True)


软件里有个bug,需要在MeteoInfo QQ群下载axes.py文件,替换 MeteoInfo -> pylib -> mipylib -> plotlib目录中的同名文件。
密码修改失败请联系微信:mofangbao
您需要登录后才可以回帖 登录 | 立即注册 新浪微博登陆

本版积分规则

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

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

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