2015-10-19 115 views
0

我的引擎箭頭中沒有引用箭頭,我找不到原因。沒有顯示引導箭頭參考箭頭

有人可以看到我在做什麼錯嗎?我原本沒有使用gridspec,但我需要這樣才能讓我的數字正確縮放。當我不使用gridspec時,參考箭頭顯示,但現在不再是了。爲什麼gridspec會導致我失去顫動鑰匙的參考箭頭?

Matplotlib版本:1.4.3

Python版本:2.7.10

注:

missing quiver key reference arrow

:從 here.

import matplotlib.pyplot as plot 
import matplotlib as mpl 
from mpl_toolkits.basemap import Basemap 
import numpy as np 
from datetime import datetime, timedelta 
import matplotlib.gridspec as gridspec 
from matplotlib.dates import date2num 

def stick_plot(time, u, v, **kw): 
    width = kw.pop('width', 0.002) 
    headwidth = kw.pop('headwidth', 0) 
    headlength = kw.pop('headlength', 0) 
    headaxislength = kw.pop('headaxislength', 0) 
    angles = kw.pop('angles', 'uv') 
    ax = kw.pop('ax', None) 


    if angles != 'uv': 
     raise AssertionError("Stickplot angles must be 'uv' so that" 
         "if *U*==*V* the angle of the arrow on" 
         "the plot is 45 degrees CCW from the *x*-axis.") 

    if not ax: 
     fig, ax = plot.subplots() 

    q = ax.quiver(date2num(time), [[0]*len(time)], u, v, 
       angles='uv', width=width, headwidth=headwidth, 
       headlength=headlength, headaxislength=headaxislength, 
       **kw) 

    ax.axes.get_yaxis().set_visible(False) 
    ax.xaxis_date() 
    return q 



x = np.arange(100, 110, 0.1) 
start = datetime.now() 
time = [start + timedelta(days=n) for n in range(len(x))] 
u, v = np.sin(x), np.cos(x) 

gs = gridspec.GridSpec(1,3, width_ratios = [5,1,3], height_ratios = [2,1]) 
fig = plot.figure(figsize=(11,8)) 
ax1 = plot.subplot(gs[:, :-1]) 
ax2 = plot.subplot(gs[:, -1]) 

map1 = Basemap(ax = ax1) 
map1.drawcoastlines() 

q = stick_plot(time, u, v, ax = ax2) 

ref = 1 
qk = plot.quiverkey(q, 0.3, 0.85, ref, 
       "%s N m$^{-2}$" % ref, 
       labelpos='N', coordinates='axes') 

_ = plot.xticks(rotation=30) 

plot.show() 

所拍攝的照片的柱狀圖功能

回答

1

我已經si類似問題。明確地設置linewidth關鍵字呼叫quiver()解決了我的問題。