我需要使用y轴,但是将x轴旋转45度。似乎无法在网上找到任何帮助。提前为任何帮助欢呼。
代码如下
t = nwp.get('T','1000 hPa')
lon,lat = nwp.grid()
a,b = common.gridij3(174.,-41.,lon,lat)
pressure=[1000,950,925,850,700,600,500,400,300,250,150,100]
tt=[]
td=[]
tw=[]
for level in pressure:
tt.append(nwp.get('T','%i hPa' %level)[a,b]) # % means add hPa to value taken from level list
td.append(nwp.get('TD','%i hPa' %level)[a,b])
tw.append(nwp.get('TW','%i hPa' %level)[a,b])
print '---Temperatures---'
for t in tt:
print t
print '---Dew points---'
for t in td:
print t
print '---Wet bulb temperatures---'
for t in tw:
print t
#invert pressure axis
plt.gca().invert_yaxis()
#need to know how to rotate x axis by 45
plt.xlabel('Temperature K')
plt.ylabel('Pressure hPa')
plt.yscale('log')
plt.plot(tt,pressure,'r',label='Temp')
plt.plot(td,pressure,label='Dew Point')
plt.plot(tw,pressure,'g',label='Wet Bulb Temperature')
plt.legend()
plt.show()
答案 0 :(得分:0)
你没有说出哪个方向,你有变量的学位吗?
我想象的是基本的if / else:
如果您的新轴超过360,请取360 - 您的轴然后旋转 - 差异并将其添加到0。
//伪代码
如果x轴+旋转< 360 x轴= x轴+ 45 其他 x轴= 0 +(45 - (360 - x轴))
答案 1 :(得分:0)
我通过谷歌搜索找到了6个有用的页面" matplotlib skew-T&#34 ;;
一般方法,例如Plotting straight line on semilog plot with matplotlib,似乎是为每个数据点计算一个合适的x偏移量,而不是旋转轴。
您可能还会发现https://github.com/tchubb/SkewT有用。