2014-07-23 51 views
0

我需要有它的y轴,但旋转我的x轴45度。似乎无法在网上找到任何帮助。提前欢呼任何帮助。我可以将x轴旋转45度吗?试图让tephigram

代码如下

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

“似乎无法在网上找到任何帮助”这是你在这里的强有力声明!你在找什么?请解释你的问题,而不是用“我需要那样做”来粘贴代码行,这将有助于那些会尽力帮助你的人。 – astorije

+0

1.4增加了对斜轴的支持。也看看wcs_axes(查看scipy2014谈话) – tacaswell

+0

对于我的小白在这里很抱歉,但我本质上是想制作一个tephigram或skew-t情节。实质上,其温度与压力(对数刻度) 然而,温度轴大致旋转45度。我想知道是否易于绘制x,y变量,然后旋转x轴。 我有一些代码,将在我原来的X,Y值,并生产出新的x,y值标绘将代表情节应该是什么样子,如果x轴进行旋转45度时。 – user3870901

回答

0

你没有说哪个方向,你有你的变量的程度?

我想象像一个基本的东西的if/else:

如果你的新中轴线变过去的360,拍摄360 - 您的轴然后旋转 - 差异,并添加到0

//伪

如果x轴+旋转 x轴= x轴+ 45 别的 x轴= 0 +(45 - (360 - x轴))

0

我发现半打有用p通过谷歌搜索“matplotlib skew-T”的年龄段;

的一般方法,由Plotting straight line on semilog plot with matplotlib例举似乎是计算每个数据点的相应x偏移量,而不是旋转的轴。

您可能还会发现https://github.com/tchubb/SkewT有用。

+0

为此欢呼。看来最好的办法是重新计算过的每个x值设置,并重新绘制它在一个正常的xy平面。因此它将绘制点,就好像x轴偏离45度一样。 我已经获得了一些这样做的代码: – user3870901