質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

Q&A

解決済

1回答

3347閲覧

2次元グラフと3次元散布図のアニメーション付加

Penefax

総合スコア38

Matplotlib

MatplotlibはPythonのおよび、NumPy用のグラフ描画ライブラリです。多くの場合、IPythonと連携して使われます。

NumPy

NumPyはPythonのプログラミング言語の科学的と数学的なコンピューティングに関する拡張モジュールです。

Python 2.7

Python 2.7は2.xシリーズでは最後のメジャーバージョンです。Python3.1にある機能の多くが含まれています。

0グッド

0クリップ

投稿2017/06/13 14:31

###前提・実現したいこと
同一グラフでの静止とアニメーションの付加。(2次元グラフ、3次元散布図)

###発生している問題・エラーメッセージ
やり方が分からない

###該当のソースコード

from matplotlib import pyplot from mpl_toolkits.mplot3d import Axes3D import numpy as np from scipy import genfromtxt # データ読み込み d = genfromtxt("aiueo.csv", delimiter=",") fig = pyplot.figure(figsize=(24,24)) # 3次元散布図 ax = fig.add_subplot(121, projection='3d') ax.set_xlabel("X-axis") ax.set_ylabel("Y-axis") ax.set_zlabel("Z-axis") ax.set_xlim(-30, 30) ax.set_ylim(-40, 20) ax.set_zlim(100, 200) ax.plot(d[:,3], d[:,4], d[:,5], "o", color="g", ms=16, mew=0.5) ax.plot(d[:,0], d[:,1], d[:,2], "*", color="r", ms=16, mew=0.5) # 2次元グラフ1枚目 ax = fig.add_subplot(222) ax.set_xlabel('x-axis') ax.set_ylabel('y-axis') ax.set_xlim(-30, 30) ax.set_ylim(-20, 20) ax.plot(d[:,3], d[:,4], "o", color="g", ms=24, mew=0.5) ax.plot(d[:,0], d[:,1], "*", color="r", ms=24, mew=0.5) ax.grid(True) # 2次元グラフ2枚目 ax = fig.add_subplot(224) ax.set_xlabel('z-axis') ax.set_ylabel('y-axis') ax.set_xlim(100, 200) ax.set_ylim(-20,20) ax.plot(d[:,5], d[:,4], "o", color="g", ms=24, mew=0.5) ax.plot(d[:,2], d[:,1], "*", color="r", ms=24, mew=0.5) ax.grid(True) fig.show() pyplot.show()

ax.plot(d[:,0], d[:,1], d[:,2], "*", color="r", ms=16, mew=0.5)
ax.plot(d[:,2], d[:,1], "*", color="r", ms=24, mew=0.5)
ax.plot(d[:,2], d[:,1], "*", color="r", ms=24, mew=0.5)
上記コード内のこの3つのプロットにのみアニメーションを付加したい

###試したこと
過去のアニメーションに関する質問を軸に考えたがわからなかった。

###補足情報(言語/FW/ツール等のバージョンなど)
windows10
python2.7
matplotlib
spyder
読み込んでるCSVファイルはただの数字です。(6行)

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

とりあえず、アニメーション処理を追加してみました。
やろうとしていることは、こんな感じでよいのでしょうか?

Python

1from matplotlib import pyplot 2import matplotlib.animation as animation 3from mpl_toolkits.mplot3d import Axes3D 4import numpy as np 5from scipy import genfromtxt 6 7# データ読み込み 8d = genfromtxt("aiueo.csv", delimiter=",") 9 10def animate(i, pl0,pl1,pl2): 11 pl0.set_data(d[:i,0], d[:i,1]) 12 pl0.set_3d_properties(d[:i,2]) 13 pl1.set_data(d[:i,0], d[:i,1]) 14 pl2.set_data(d[:i,2], d[:i,1]) 15 return pl0,pl1,pl1 16 17fig = pyplot.figure(figsize=(24,24)) 18 19# 3次元散布図 20ax = fig.add_subplot(121, projection='3d') 21ax.set_xlabel("X-axis") 22ax.set_ylabel("Y-axis") 23ax.set_zlabel("Z-axis") 24 25ax.set_xlim(-30, 30) 26ax.set_ylim(-40, 20) 27ax.set_zlim(100, 200) 28 29ax.plot(d[:,3], d[:,4], d[:,5], "o", color="g", ms=16, mew=0.5) 30pl0, = ax.plot([],[],[],"*", color="r", ms=16, mew=0.5) 31 32# 2次元グラフ1枚目 33ax = fig.add_subplot(222) 34ax.set_xlabel('x-axis') 35ax.set_ylabel('y-axis') 36ax.set_xlim(-30, 30) 37ax.set_ylim(-20, 20) 38 39ax.plot(d[:,3], d[:,4], "o", color="g", ms=24, mew=0.5) 40pl1, = ax.plot([], [], "*", color="r", ms=24, mew=0.5) 41ax.grid(True) 42 43# 2次元グラフ2枚目 44ax = fig.add_subplot(224) 45ax.set_xlabel('z-axis') 46ax.set_ylabel('y-axis') 47ax.set_xlim(100, 200) 48ax.set_ylim(-20,20) 49 50ax.plot(d[:,5], d[:,4], "o", color="g", ms=24, mew=0.5) 51pl2, = ax.plot([], [], "*", color="r", ms=24, mew=0.5) 52ax.grid(True) 53 54ani = animation.FuncAnimation(fig, animate, d.shape[0], fargs=(pl0,pl1,pl2), interval=1000) 55 56pyplot.show()

投稿2017/06/14 01:16

magichan

総合スコア15898

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

Penefax

2017/06/14 05:53

これです!! ありがとうございます!! また、何かあればぜひお願いします!!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問