2014-07-23 50 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