質問編集履歴

1 エラーメッセージと変更点を記入しました

708

708 score 2

2018/07/27 16:09  投稿

三次元ベクトルを図示できたのですが,それを逐次表示することはできないでしょうか?
### 前提・実現したいこと
pythonでcsvファイルを読み込んで複数の三次元ベクトルを図示してのですが
それを1つずつ逐次表示して,動画やGIFにすることはできないでしょうか?
また,図を回転させたいのですが回転している図はどうすればよいでしょうか
ご教授ください.
### 発生している問題・エラーメッセージ
単純にこれを入れただけでは表示できないのでしょうか?
plt.pause(.01)
エラーメッセージ
TypeError: show() got an unexpected keyword argument 'block'
### 該当のソースコード
```python
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です
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'
このエラーが出ています
  • Python

    18836 questions

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

思考するエンジニアのためのQ&Aサイト「teratail」について詳しく知る