【问题标题】:Matplotlib scatterplot animationMatplotlib 散点图动画
【发布时间】:2021-11-05 00:46:24
【问题描述】:

我正在尝试在 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 的类似问题,但我找不到我在做什么不同。

【问题讨论】:

    标签: python numpy matplotlib animation sympy


    【解决方案1】:

    我已将您的动画重组如下,如果可以,请告诉我:

    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 = '', marker = 'o', 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()
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-07-07
      • 2020-09-21
      • 1970-01-01
      • 2021-10-21
      • 1970-01-01
      • 2013-01-22
      • 1970-01-01
      • 2021-05-08
      相关资源
      最近更新 更多