Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Python

matplotlib.animation के लिए ffmpeg को सही तरीके से कैसे इनेबल करें?


matplotlib.animation के लिए ffmpeg इनेबल करने के लिए, हम निम्न चरण अपना सकते हैं:

  • फिगर साइज सेट करें और सबप्लॉट्स के बीच और आसपास पैडिंग एडजस्ट करें।
  • ffmpeg डायरेक्टरी सेट करें।
  • figure() मेथड का उपयोग करके एक नया फिगर बनाएं या मौजूदा फिगर को एक्टिवेट करें।
  • सबप्लॉट व्यवस्था के हिस्से के रूप में फिगर में एक 'ax1' जोड़ें।
  • पहले से मौजूद एक्सेस के आधार पर डिवाइडर प्लॉट करें।
  • प्लॉट किए जाने वाले रैंडम डेटा बनाएं, डेटा को इमेज के रूप में डिस्प्ले करने के लिए, यानी 2D रेगुलर रास्टर पर।
  • ScalarMappable इंस्टेंस, cb के लिए कलरबार बनाएं।
  • करंट फ्रेम के रूप में शीर्षक सेट करें।
  • कोलोरमैप्स की लिस्ट बनाएं।
  • एक फंक्शन, animate, को बार-बार कॉल करके एनिमेशन बनाएं। फंक्शन नया रैंडम डेटा बनाता है, फिर डेटा को इमेज के रूप में डिस्प्ले करने के लिए imshow() मेथड का उपयोग करता है।
  • पाइप-बेस्ड ffmpeg राइटर का इंस्टेंस प्राप्त करें।
  • करंट एनिमेटेड फिगर सेव करें।

उदाहरण

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as animation
from mpl_toolkits.axes_grid1 import make_axes_locatable

plt.rcParams["figure.figsize"] = [7.50, 3.50]
plt.rcParams["figure.autolayout"] = True
plt.rcParams['animation.ffmpeg_path'] = 'ffmpeg'

fig = plt.figure()
ax = fig.add_subplot(111)
div = make_axes_locatable(ax)
cax = div.append_axes('right', '5%', '5%')

data = np.random.rand(5, 5)
im = ax.imshow(data)
cb = fig.colorbar(im, cax=cax)
tx = ax.set_title('Frame 0')

cmap = ["copper", 'RdBu_r', 'Oranges', 'cividis', 'hot', 'plasma']

def animate(i):
    cax.cla()
    data = np.random.rand(5, 5)
    im = ax.imshow(data, cmap=cmap[i%len(cmap)])
    fig.colorbar(im, cax=cax)
    tx.set_text('Frame {0}'.format(i))

ani = animation.FuncAnimation(fig, animate, frames=10)
FFwriter = animation.FFMpegWriter()
ani.save('plot.mp4', writer=FFwriter)

आउटपुट

जब हम कोड एक्जीक्यूट करते हैं, तो यह 'plot.mp4' नाम से एक mp4 फाइल बनाएगा और इसे प्रोजेक्ट डायरेक्टरी में सेव करेगा।

  1. Matplotlib में बार के लेबल के रूप में इमोजी कैसे प्लॉट करें? Matplotlib में बार के लेबल के रूप में इमोजी कैसे प्लॉट करें?

    बार के ऊपर इमोजी लेबल लगाने के लिए plt.annotate() का उपयोग करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। फ्रीक्वेंसीज़ और इमोजी लेबल्स की लिस्ट बनाएं। plt.bar() से बार्स प्लॉट करें। प्रत्येक बार के लिए plt.annotate() से इमोजी ऊपर रखें (ha=center, va=bottom, fontsize=30)। plt.show() से दिखाएं। उदाहरण

  1. Matplotlib में 3D बार के लिए लीजेंड कैसे बनाएं? Matplotlib में 3D बार के लिए लीजेंड कैसे बनाएं?

    3D बार चार्ट में लीजेंड जोड़ने के लिए plt.Rectangle प्रॉक्सी आर्टिस्ट्स बनाएं और ax.legend() में पास करें। चरण फिगर साइज़ और ऑटोलेआउट सेट करें। 3D एक्सिस बनाएं और दो सेट्स के 3D बार्स प्लॉट करें (अलग रंग)। प्रत्येक सेट के लिए plt.Rectangle((0,0), 1, 1, fc=color) प्रॉक्सी बनाएं। ax.legend([proxy1, p

  1. Flask में Matplotlib कैसे दिखाएं? Flask में Matplotlib कैसे दिखाएं?

    Flask में प्लॉट दिखाने के लिए, हम निम्नलिखित चरण अपना सकते हैं: एक छोटा एप्लिकेशन बनाएं। Flask एप्लिकेशन चलाने के लिए, वर्तमान डायरेक्टरी पर जाएं। $ export FLASK_APP=file.py $ flask run ब्राउज़र खोलें, यूआरएल हिट करें: https://127.0.0.1:5000/print-plot/ फिगर प्लॉट करने के लिए, हम रैंडम