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

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

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

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

Q&A

解決済

1回答

2107閲覧

TypeError: update() missing 5 required positional argumentsのエラー

yasuke

総合スコア11

Python 3.x

Python 3はPythonプログラミング言語の最新バージョンであり、2008年12月3日にリリースされました。

0グッド

0クリップ

投稿2019/05/22 04:44

プログラム初心者です。
Traceback (most recent call last):
File "test.py", line 42, in <module>
update()
TypeError: update() missing 5 required positional arguments: 'x', 'y', 'z', 'i', and 'plot'
のようなエラーが出ましたが,解決方法がわかりません。

python3

1import numpy as np 2import matplotlib.pyplot as plt 3from mpl_toolkits.mplot3d import Axes3D 4import matplotlib.animation as animation 5import sys 6 7fig = plt.figure() 8ax = fig.gca(projection='3d') 9 10#球の描画# 11 12u = np.linspace(0, 2 * np.pi, 100) 13v = np.linspace(0, np.pi, 100) 14x = 2 * np.outer(np.cos(u), np.sin(v)) 15y = 2 * np.outer(np.sin(u), np.sin(v)) 16z = 2 * np.outer(np.ones(np.size(u)), np.cos(v)) 17time=10 18 19def plot(): 20 ax.set_xlim(-10, 10) 21 ax.set_ylim(-10, 10) 22 ax.set_zlim(-10, 10) 23 ax.set_xlabel("x") 24 ax.set_ylabel("y") 25 ax.set_zlabel("z") 26 ax.set_aspect('equal') 27 plot=[ax.plot_surface(x, y, z)] 28 print(x) 29 30def update(x,y,z,i,plot): 31 print(x) 32 plot[0].remove() 33 i=0 34 for i in np.array(range(time)): 35 x_ = x 36 y_ = y 37 z_ = x * np.sin(i) + y * np.cos(i) 38 plot[0]=ax.plot_surface(x_, y_, z_, cmap="magma") 39 40 41if __name__ == '__main__': 42 # init() 43 plot() 44 update() 45 ani = animation.FuncAnimation(fig, update, 100, fargs=(x,y,z,i,plot), interval=100) 46 plt.show() 47 48

コードは以下のように記載しました。
どう直したら解決できるのでしょうか?

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

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

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

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

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

can110

2019/05/22 04:55

コードはご自身で書いたものでしょうか?参考にしたページなどがあれば記載ください。
guest

回答1

0

ベストアンサー

update()にて与えるべき引数を与えていないのが原因です。必要な引数(これはコード作成者にしか分からない)を与える、またはupdate()をコメントアウトすると提示エラーは消えます。

提示コードを見てみると、参考サイトをもとにはしていますが、場当たり的に手を加えているように思われます。
まだPythonに関する基本的な理解が足りていないようなので、まずは基礎的な部分から学習したほうがよいと思います。

投稿2019/05/22 05:11

can110

総合スコア38266

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問