欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用plt庫實(shí)現(xiàn)繪制動(dòng)態(tài)曲線圖并導(dǎo)出為GIF或MP4

 更新時(shí)間:2024年03月13日 15:39:27   作者:小子挺不錯(cuò)  
這篇文章主要為大家詳細(xì)介紹了Python如何使用plt庫實(shí)現(xiàn)繪制動(dòng)態(tài)曲線圖并導(dǎo)出為GIF或MP4,文中的示例代碼講解詳細(xì),需要的可以了解一下

一、繪制初始圖像

正常使用plt進(jìn)行繪圖,這里舉例一個(gè)正弦函數(shù):

二、繪制動(dòng)態(tài)圖的每一幀

思路:

  • 根據(jù)橫坐標(biāo)點(diǎn)數(shù)繪制每一幀畫面
  • 每次在當(dāng)前坐標(biāo)處,繪制一個(gè)點(diǎn)和垂直的線,來表示當(dāng)前點(diǎn)
  • 可以在點(diǎn)上加個(gè)坐標(biāo)等樣式來增加動(dòng)態(tài)效果

實(shí)例代碼:

import numpy as np
import matplotlib.pyplot as plt

for i in range(len(x)):
    plt.figure()
    
    x = np.linspace(0, 12, 121)  
    y = np.sin(x)  
    
    # 繪制垂直橫線
    plt.vlines(x=x[i], ymin=-1, ymax=1, colors='black', linestyles='dashdot')
    
    # 繪制水平橫線
    plt.hlines(y=0, xmin=0, xmax=12, colors='black', linestyles='solid',linewidths=3)
    
    plt.plot(x, y)  
    
    plt.scatter(x[i],y[i],color='red',s=30)
    
    
    plt.grid(True, linestyle='--', alpha=0.5)
    
    plt.savefig(f"./test/{i}.png")
    plt.show()
    plt.close()

效果如下:

三、利用imageio庫制作視頻或者gif

最后,把所有圖像繪制成一個(gè)動(dòng)態(tài)圖或者視頻就可以實(shí)現(xiàn)了,效果還是客觀的。

import imageio   # 主要使用imageio這個(gè)庫
import os

def create_gif(image_list, gif_name, duration=0.35):
    frames = []
    
    for image_name in image_list:
        frames.append(imageio.imread(image_name))
        
    # 轉(zhuǎn)化成gif
    imageio.mimsave(gif_name, frames, 'GIF', duration=duration)
    return


def create_video(image_list):
    filename = 'output3.mp4'
    filepath = os.path.join(os.getcwd(), filename)
    
    frames = []
    for image_name in image_list:
        frames.append(imageio.imread(image_name))
        
    # 將圖片轉(zhuǎn)換為視頻
    fps = 2  # 每秒鐘幀數(shù)
    with imageio.get_writer(filepath, fps=fps) as video:
        for image in frames:
            # frame = image.convert('RGB')
            video.append_data(image)
            
def main():
    orgin = './test'      # 首先設(shè)置圖像文件路徑
    files = os.listdir(orgin)  

    image_list = []
    
    for i in range(len(files)):
        file_dir = f"{i}.png"
        path = os.path.join(orgin, file_dir)
        image_list.append(path)
    
    # 創(chuàng)建gif
    gif_name = 'result.gif'  # 設(shè)置動(dòng)態(tài)圖的名字
    duration = 0.2
    create_gif(image_list, gif_name, duration)       # 創(chuàng)建動(dòng)態(tài)圖
    
    # 創(chuàng)建video
    # create_video(image_list=image_list)


if __name__ == '__main__':
    main()

效果如圖:

到此這篇關(guān)于Python使用plt庫實(shí)現(xiàn)繪制動(dòng)態(tài)曲線圖并導(dǎo)出為GIF或MP4的文章就介紹到這了,更多相關(guān)Python plt繪制動(dòng)態(tài)曲線圖內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

最新評論