2次元ランダムウォークをmatplotlibで描画していて、一番最後の要素(array[-1])の部分だけを◯で表示したいと思いました。
下のコードが実際に試してみたものです。
import numpy as np import random import matplotlib.pyplot as plt from math import * """ ランダムウォーク """ walk_x = [0] walk_y = [0] # n入力 n = int(input("歩く回数n:")) """ MATPLOTLIB コンフィグ """ # グラフのタイトル plt.title("Random-Walk-2D (n={})".format(n)) # x軸のラベル plt.xlabel("x") # y軸のラベル plt.ylabel("y") i = 1 # 更新と描画 while(i <= n): dx = random.randrange(2)*2-1 dy = random.randrange(2)*2-1 walk_x.append(walk_x[i-1] + dx) walk_y.append(walk_y[i-1] + dy) i+=1 plt.plot(walk_x,walk_y,color="black") plt.plot(walk_x[-1],walk_y[-1],color="blue",marker="o") # グラフ描画 plt.draw() # 更新待機(秒) plt.pause(0.1) # 最終状態の描画 plt.show()
ただ、この場合だと今までプロットしてきた◯も残ってしまい、どこが最終要素なのか見分けがつきにくいです。
前にプロットした◯は消して、最新の◯を1つだけプロットする方法はあるのでしょうか。
よろしくお願いします。

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。