2017-08-06 16 views
-1

同様の質問がありました。同じ問題が発生していません。here以下は私のデータセットのスナップショットです:Matplotlibアニメーションが空になって表示されます

enter image description here

基本的に、私は時間をかけて、座標ドロップオフをアニメーション化したいと思います。ご覧のとおり、日付はdropoff_datetimeでソートされています。ここに私のコードです(上記の質問に非常に似ています)。

fig = plt.figure(figsize=(10,10)) 
ax = plt.axes(xlim=xlim, ylim=ylim) 
points, = ax.plot([], [],'.',alpha = 0.4, markersize = 0.05) 

def init(): 
    points.set_data([], []) 
    return points, 

# animation function. This is called sequentially 
def animate(i): 
    x = test["dropoff_longitude"] 
    y = test["dropoff_latitude"] 
    points.set_data(x, y) 
    return points, 

anim = animation.FuncAnimation(fig, animate, init_func=init, 
           frames=100, interval=20, blit=True) 

plt.show() 

上記の問題の問題と同様に、私のプロットは空になっています。私はそれを正しくコーディングしていると思うし、上記のリンクとは違って、私はその座標が時間とともに変化しているのを見ている。なぜプロットが空であるのか分かりません。

+1

_Iは座標がtime_をかけて変化していることがわかります:あなたが探していたもののように聞こえます。 _私は問題が何であるかはわかりません:あなたの問題を説明していない場合、私たちはどちらか分かりません。 – pingul

+0

申し訳ありませんが、私は上記のリンクへの私の参照がそれをクリアしていると思いました。私は自分の投稿を更新しました。すべてが正しく設定されているように見えますが、私のプロットは空です。 – madsthaks

答えて

1

デフォルトでは、1ピクセルは1ポイントまたは0.72ポイントです(ジュピターノートでコードを実行するかスタンドアロンプ​​ロットとして表示するかによって異なります)。マーカーのサイズが0.05のプロットを作成すると、各マーカーのサイズはそれぞれ0.05ピクセルまたは0.07ピクセルになります。画面上で1ピクセルを見ることはすでにかなり難しいので、特にアルファが0.4に設定されている場合、1ピクセルの20分の1を観察することは簡単にできません。

解決策:markersize = 5以上を設定します。

フル作業例:

import matplotlib.pyplot as plt 
import matplotlib.animation as animation 
import pandas as pd 

test = pd.DataFrame({"dropoff_longitude": [-72,-73,-74,-74], 
        "dropoff_latitude": [40,41,42,43]}) 

xlim=(-71,-75) 
ylim=(39,44) 
fig = plt.figure(figsize=(10,10)) 
ax = plt.axes(xlim=xlim, ylim=ylim) 
points, = ax.plot([], [],'.',alpha = 1, markersize =5) 

def init(): 
    points.set_data([], []) 
    return points, 

# animation function. This is called sequentially 
def animate(i): 
    x = test["dropoff_longitude"] 
    y = test["dropoff_latitude"] 
    points.set_data(x, y) 
    return points, 

anim = animation.FuncAnimation(fig, animate, init_func=init, 
           frames=100, interval=20, blit=True) 

plt.show() 

enter image description here

+0

コメントをいただきありがとうございますが、その解決策は機能しませんでした。私はまた、アルファパラメータを削除しようとしましたが、そこに運がありません。 – madsthaks

+0

それは確かに動作します、更新された答えを見てください。 – ImportanceOfBeingErnest

+0

これはうんざりです。それはまだ動作しないと私はそれをもうデバッグする方法がかなり分かりません。 – madsthaks

関連する問題