我可以将x轴旋转45度吗?试图制作tephigram

时间:2014-07-23 23:41:30

标签: python matplotlib

我需要使用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()

2 个答案:

答案 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有用。