Maison >développement back-end >Tutoriel Python >Python peut-il créer des graphiques animés ?

Python peut-il créer des graphiques animés ?

爱喝马黛茶的安东尼
爱喝马黛茶的安东尼original
2019-06-18 16:10:583524parcourir

ImageMagick

est un ensemble d'outils et un package de développement puissants, stables et open source qui peuvent être utilisés pour lire, écrire et traiter des fichiers image dans plus de 200 formats de base, y compris des formats tels au format PNG, JPEG, GIF, HEIC, TIFF, DPX, EXR, WebP, Postscript, PDF et SVG. En utilisant ImageMagick, vous pouvez générer dynamiquement des images en fonction des besoins des applications Web. Vous pouvez également effectuer des opérations telles que modifier la taille, faire pivoter, affiner, soustraire des couleurs ou ajouter des effets spéciaux à une image (ou un groupe d'images), et les résultats de l'opération sont affichés dans le même format ou enregistrés dans d'autres formats, l'opération des images peut se faire via la ligne de commande ou via la programmation C/C++, Perl, Java, PHP, Python ou Ruby. L'objectif principal d'ImageMagic est la performance, la réduction des bogues et la fourniture d'API et d'ABI stables.

Python peut-il créer des graphiques animés ?

Les fonctions d'ImageMagick sont généralement utilisées via la ligne de commande, mais peuvent également être utilisées par programme. La programmation peut choisir d'appeler via ces interfaces : G2F (Ada), MagickCore (C), MagickWand (C), ChMagick (Ch), ImageMagickObject (COM+), Magick++ (C++), JMagick (Java), JuliaIO (Julia), L - Magick (Lisp), Lua (LuaJIT), NMagick (Neko/haXe), Magick.NET (.NET), PascalMagick (Pascal), PerlMagick (Perl), MagickWand pour PHP (PHP), IMagick (PHP), PythonMagick ( Python ), magick (R), RMagick (Ruby) ou TclMagick (Tcl/TK).

Téléchargement Windows

Adresse :

http://www.lfd.uci.edu/~gohlke/pythonlibs/#pythonmagick

Téléchargez le fichier whl "PythonMagick" correspondant à la version du système d'exploitation et à la version de Python, puis installez-le dans CMD en utilisant la méthode "pip" + chemin + nom de fichier complet whl. Par exemple :

pip install C:UsersStudentDesktopPythonMagick-0.9.12-cp35-none-win_amd64.whl

ou téléchargez via anaconda

Recommandations associées : "python Tutoriel vidéo

Exemple

import sys
import numpy as np
import matplotlib.pyplot as plt
from matplotlib.animation import FuncAnimation
 
fig, ax = plt.subplots()
fig.set_tight_layout(True)
 
# 询问图形在屏幕上的大小和DPI(每英寸点数)
# 注意当把图形保存为文件时,需要为此单独再提供一个DPI
print('fig size: {0} DPI, size in inches {1}'.format(
 fig.get_dpi(), fig.get_size_inches()))
 
# 绘制一个保持不变(不会被重新绘制)的散点图以及初始直线
x = np.arange(0, 20, 0.1)
ax.scatter(x, x + np.random.normal(0, 3.0, len(x)))
line, = ax.plot(x, x - 5, 'r-', linewidth=2)
 
def update(i):
 label = 'timestep {0}'.format(i)
 print(label)
# 更新直线和轴(用一个新X轴标签)
 # 以元组形式返回这一帧需要重新绘制的物体
 line.set_ydata(x - 5 + i)
 ax.set_xlabel(label)
 return line, ax
 
if __name__ == '__main__':
 # 会为每一帧调用Update函数
 # 这里FunAnimation设置一个10帧动画,每帧间隔200ms
 anim = FuncAnimation(fig, update, frames=np.arange(0, 10), interval=200)
 if len(sys.argv) > 1 and sys.argv[1] == 'save':
  anim.save('line.gif', dpi=80, writer='imagemagick')
 else:
  # Plt.show()会一直循环动画
  plt.show()

Python peut-il créer des graphiques animés ?

Il y a deux points à noter : Les points de dispersion dans le graphique ne seront pas bouger; ce qui bouge est une ligne droite. Le titre de l'axe X change à chaque image.

Si vous souhaitez passer à un thème plus cool, vous pouvez utiliser la bibliothèque Seaborn, ajoutez simplement :

 import seaborn

Vous obtiendrez alors le GIF suivant :

Python peut-il créer des graphiques animés ?

Un petit rappel : bien que le GIF ici ne comporte que 10 images et que le contenu graphique soit très simple, chaque image fait tout de même environ 160 000 images. Étant donné que les animations GIF n'utilisent pas de compression multi-images, les images GIF avec des images plus longues deviennent plus grandes. Minimiser le nombre d'images et rendre chaque image plus petite (en ajustant la taille de la figure ou le DPI dans matplotlib) peut plus ou moins aider à atténuer ce problème.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn