Анимация в матплотлибе - PullRequest
       2

Анимация в матплотлибе

0 голосов
/ 11 октября 2018

Я хотел сделать анимацию matplotlib тригонометрических функций в единичном круге, пока мне удалось получить неподвижный график.Я сделал то же самое в PyGame, но у него действительно плохое сглаживание, поэтому я перешел на matplotlib.Я думал о достижении эффекта анимации путем увеличения угла в каждом кадре анимации, но я просто не знаю, как заставить его работать в matplotlib.

import numpy as np
import matplotlib.pyplot as plt
from matplotlib.patheffects import withStroke

fig, ax = plt.subplots(figsize=(8, 8))

angle = np.pi / 6
x = [0, np.cos(angle)]
y = [0, np.sin(angle)]

ax.set_ylim((-1.5, 1.5))
ax.set_xlim((-1.5, 1.5))


def center_origin():
    # Getting rid of axis values
    plt.gca().axes.get_xaxis().set_visible(False)
    plt.gca().axes.get_yaxis().set_visible(False)

    # Move left y-axis and bottom x-axis to centre, passing through (0,0)
    ax.spines['left'].set_position('center')
    ax.spines['bottom'].set_position('center')

    # Eliminate upper and right axes
    ax.spines['right'].set_color('none')
    ax.spines['top'].set_color('none')


def circle(x, y, radius=0.15):

    circle = plt.Circle((x, y), radius, clip_on=False, zorder=10, linewidth=1,
                    edgecolor='black', facecolor=(0, 0, 0, .0125),
                    path_effects=[withStroke(linewidth=1)])
    ax.add_artist(circle)


circle(0, 0, 1)

ax.plot(x, y)
ax.plot([x[1], x[1]], [y[0], y[1]])
ax.plot([x[0], x[1]], [y[1], y[1]])

center_origin()

plt.show()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...