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

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

ただいまの
回答率

90.34%

  • Python

    9134questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。

三次元ベクトルを図示できたのですが,それを逐次表示することはできないでしょうか?

受付中

回答 0

投稿 編集

  • 評価
  • クリップ 2
  • VIEW 416

708

score 0

 前提・実現したいこと

pythonでcsvファイルを読み込んで複数の三次元ベクトルを図示してのですが
それを1つずつ逐次表示して,動画やGIFにすることはできないでしょうか?
また,図を回転させたいのですが回転している図はどうすればよいでしょうか
ご教授ください.

 発生している問題・エラーメッセージ

単純にこれを入れただけでは表示できないのでしょうか?
plt.pause(.01)

エラーメッセージ
TypeError: show() got an unexpected keyword argument 'block'

 該当のソースコード

import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d.axes3d import Axes3D
import csv
import numpy as np
import pandas as pd
import math
%matplotlib notebook
fig = plt.figure()
ax = Axes3D(fig)
#ax=fig.gca(projection='3d')
#ax = fig.add_subplot(111, projection='3d')
from pylab import *
u=[]
v=[]
w=[]
al =[]

LX,LY,LZ = 1,1,1
X,Y,Z= 0,0,0
ax.set_xlim([-LX,LX])
ax.set_ylim([-LY,LY])
ax.set_zlim([-LZ,LZ])
ax.set_xlabel("x",fontsize=18)
ax.set_ylabel("y",fontsize=18)
ax.set_zlabel("z",fontsize=18)

with open('saido.test01.csv',  newline='') as f:
    dataReader = csv.reader(f)
    for row in dataReader:
        u.append(row[0])
        v.append(row[1])
        w.append(row[2])
        a = np.array(row)
        al.append(np.linalg.norm(a))
for i in range(0,80):
    if i<=45:
        ax.quiver(X,Y,Z,u[i],v[i],w[i],color = 'black',length = al[i],normalize = False)

   # if 47<=i<49:
       # ax.quiver(X,Y,Z,u[i],v[i],w[i],color = 'green',length = al[i],normalize = False)    

  #  if 70<=i<80:
    #    ax.quiver(X,Y,Z,u[i],v[i],w[i],color = 'white',length = al[i],normalize = False)    

ax.scatter3D(X,Y,Z,"o",color = 'black')
#ax.scatter(X, Y, Z, c='r',  label='t = 0s')
#ax.scatter(X, Y, Z, c='g', label='t = 0.45s')
#legend(("Tanslation vector"))
#plt.scatter(label="Transration vector")

# 表示
plt.show()
plt.pause(.01)
#plt.rcParams["font.size"] = 10

 試したこと

plt.pause(.01)を入れたりしました

 補足情報(FW/ツールのバージョンなど)

Anaconda3です

下記に変更しましたがエラーは変わらなかったです

 表示

plt.pause(.01)


TypeError                                 Traceback (most recent call last)
<ipython-input-3-529e6f16720b> in <module>()
50 
51 # 表示
---> 52 plt.pause(.01)

~\Anaconda3\lib\site-packages\matplotlib\pyplot.py in pause(interval)
289         if canvas.figure.stale:
290             canvas.draw_idle()
--> 291         show(block=False)
292         canvas.start_event_loop(interval)
293     else:

~\Anaconda3\lib\site-packages\matplotlib\pyplot.py in show(*args, kw) 249     """ 250     global _show --> 251     return _show(*args, kw)
252 
253 

TypeError: show() got an unexpected keyword argument 'block'

このエラーが出ています

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

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

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

    クリップを取り消します

  • 良い質問の評価を上げる

    以下のような質問は評価を上げましょう

    • 質問内容が明確
    • 自分も答えを知りたい
    • 質問者以外のユーザにも役立つ

    評価が高い質問は、TOPページの「注目」タブのフィードに表示されやすくなります。

    質問の評価を上げたことを取り消します

  • 評価を下げられる数の上限に達しました

    評価を下げることができません

    • 1日5回まで評価を下げられます
    • 1日に1ユーザに対して2回まで評価を下げられます

    質問の評価を下げる

    teratailでは下記のような質問を「具体的に困っていることがない質問」、「サイトポリシーに違反する質問」と定義し、推奨していません。

    • プログラミングに関係のない質問
    • やってほしいことだけを記載した丸投げの質問
    • 問題・課題が含まれていない質問
    • 意図的に内容が抹消された質問
    • 広告と受け取られるような投稿

    評価が下がると、TOPページの「アクティブ」「注目」タブのフィードに表示されにくくなります。

    質問の評価を下げたことを取り消します

    この機能は開放されていません

    評価を下げる条件を満たしてません

    評価を下げる理由を選択してください

    詳細な説明はこちら

    上記に当てはまらず、質問内容が明確になっていない質問には「情報の追加・修正依頼」機能からコメントをしてください。

    質問の評価を下げる機能の利用条件

    この機能を利用するためには、以下の事項を行う必要があります。

質問への追記・修正の依頼

  • t_obara

    2018/07/27 15:28

    最終的なコードと、その時に表示されたエラーを再度ご提示されてはいかがでしょうか。

    キャンセル

  • t_obara

    2018/07/27 18:04

    申し訳ありません、大本の要望を踏まえて考えてみると、FuncAnimationを利用する方が良さそうです。こちらを参考にされてはいかがでしょうか。https://qiita.com/cyq04000/items/0d9a70c4dbc0aa738902 こちら以外にもFuncAnimationでググると色々と出てくるかと思います。

    キャンセル

  • Fallout_18

    2018/07/30 15:32

    Githubで3次元ランダムウォークと検索かけてみてください。3次元リアルタイムプロットの仕方が書いてあります!

    キャンセル

まだ回答がついていません

同じタグがついた質問を見る

  • Python

    9134questions

    Pythonは、コードの読みやすさが特徴的なプログラミング言語の1つです。 強い型付け、動的型付けに対応しており、後方互換性がないバージョン2系とバージョン3系が使用されています。 商用製品の開発にも無料で使用でき、OSだけでなく仮想環境にも対応。Unicodeによる文字列操作をサポートしているため、日本語処理も標準で可能です。