Animowanie działek w Pythonie
W tym artykule pokażę, jak animować wykresy w Pythonie za pomocą Matplotlib , abyś mógł dodać miły akcent do swoich wizualizacji!
Matplotlib
Matplotlib to pakiet do kreślenia dla języka programowania Python. Jest to jeden z najpopularniejszych pakietów do wizualizacji w Pythonie i zapewnia użytkownikom możliwość tworzenia wykresów 2-D, 3-D, a nawet animowanych. Matplotlib zapewnia szereg konfigurowalnych opcji tworzenia wykresów, w tym wykresów liniowych, wykresów punktowych, wykresów słupkowych i histogramów. Ponieważ wiele osób jest już zaznajomionych z używaniem Matplotlib do statycznych wizualizacji, omówię jego zastosowanie do animowanych wykresów. Dla tych, którzy mogą być nowi w Matplotlib, ale są już zaznajomieni z Pythonem, oto świetne źródło informacji, które pomogą Ci rozpocząć pracę z pakietem.
Podstawowa animowana fabuła 2D
#Empty lists for X/Y data
x = []
y = []
#Create a figure and axis to plot on
fig, ax = plt.subplots()
#We will create a function that will be called by Matplotlib's FuncAnimation
def getAnimation(iterator):
newInt = random.randint(1,10)
#Append values to our lists
x.append(iterator)
y.append(newInt)
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
#We pass FuncAnimation our getAnimation function so that it is called in a loop
animation = FuncAnimation(fig, getAnimation, frames=20,
interval=500, repeat=False)
plt.show()
Funkcja FuncAnimation() udostępniana przez Matplotlib wymaga figury i funkcji, które będą uruchamiane w pętli z pewną liczbą klatek. Przekazując getAnimation() jako argument, zasadniczo tworzymy pokaz slajdów z działek, które łączą się, tworząc animację, zapętlając liczbę klatek . Oto wynik naszego kodu…
Losowa animacja spaceru w 3D
#Empty lists for X/Y/Z data
x = []
y = []
z = []
#Lets start off at (10,10,10) the center of our figure with axis limits 20
x.append(10)
y.append(10)
z.append(10)
#Total number of steps we will take
stepTotal = 20
#Create a figure and axis to plot on (3-D)
fig = plt.figure()
ax = fig.add_subplot(projection="3d")
#We will create a function that will be called by Matplotlib's FuncAnimation
def randomWalk(step):
#Append values to our lists
x.append(random.uniform(1,10))
y.append(random.uniform(1,10))
z.append(random.uniform(1,10))
#Clear previous data from the plot
ax.clear()
#Plot the lists with axis limits
ax.plot(x, y, z)
ax.set_xlim([0,20])
ax.set_ylim([0,20])
ax.set_zlim([0,20])
# Creating the Animation object
animation = FuncAnimation(fig, randomWalk, frames=stepTotal, interval=100)
plt.show()
Zapisywanie animacji
#FuncAnimation() returns an animation object that can be stored
animation = FuncAnimation()
#Instantiate the directory you wish to save to
directory = "/medium/animation.gif"
#We call .save() on our animation object and pass the function a directory
animation.save(directory)
Cały kod w tym artykule można znaleźć na moim Githubie .
Jeśli ten artykuł w Medium był dla Ciebie interesujący, rozważ obserwowanie mnie! Piszę o matematyce, informatyce i wszystkim pomiędzy!

![Czym w ogóle jest lista połączona? [Część 1]](https://post.nghiatu.com/assets/images/m/max/724/1*Xokk6XOjWyIGCBujkJsCzQ.jpeg)



































