我試圖在matplotlib中繪制一個影片的散點圖。
目前我寫的代碼是:
import math
import sympy
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ani
def convert_to_polar_coordinates(num)。
return num * np.cos(num), num * np.sin(num)
fig = plt.figure(figsize=(8, 8)
primes = sympy.primerange(0, 15000)
primes = np.array(list(primes))
x, y = convert_to_polar_coordinates(primes)
scat = plt.scatter([],[],s=1)
def init()。
scat.set_offsets([])
return scat,
def plot_in_polar(i=int) 。
data = np.hstack((x[:i,np.newaxis], y[:i, np.newaxis))
scat.set_offsets(data)
return scat,
plt.axis("off")
animator = ani.FuncAnimation(fig, plot_in_polar, init_func=init, interval = 20)
plt.show()
animator.save(r'D:primes.gif')
我得到一個空圖,旁邊還有一個ValueError: 'vertices' must be a 2D list or array with shape Nx2
我試著在SO上關注一些類似的問題,但我找不到我的不同做法。
uj5u.com熱心網友回復:
我把你的影片重新結構化了,如果可以的話,請告訴我:
我把你的影片重新結構化了。
import sympy
import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as ani
def convert_to_polar_coordinates(num)。
return num*np.cos(num), num*np.sin(num)
lim =5000
fig, ax = plt.subplots(figsize = (8, 8)
primes = sympy.primerange(0, lim)
primes = np.array(list(primes))
x, y = convert_to_polar_coordinates(primes)
def init()。
ax.cla()
ax.plot([], [])
def plot_in_polar(i)。
ax.cla()
ax.plot(x[:i], y[:i], linestyle = ''/span>, marker = 'o'/span>, markersize = 1)
ax.set_xlim(-lim, lim)
ax.set_ylim(-lim, lim)
ax.axis("off")
animator = ani.FuncAnimation(fig = fig, func = plot_in_polar, interval = 20, frames = len(primes))
plt.show()
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/319384.html
標籤:
上一篇:如何將這個googlesheet的IFS功能編碼到app腳本代碼中?
下一篇:如何用影片生成一個影片曲線?

