Matplotlib 只支持 PNG 类型的图片,如果希望使用其他图片格式,请安装 Pillow,PIL(Python Imaging Library)的一个分支版本。
官方建议通过这个方式导入库:
import matplotlib.image as mpimg
使用 plt.imshow(X, **kwargs)
,重要参数:
或者使用 mpimg.pil_to_array(pilImage)
,将 PIL 对象转换成矩阵
也可以使用 plt.matshow(A, fignum = None, **kwargs)
,与 imshow 的区别在于,A 只能是一个灰度的矩阵,参数和 imshow 的基本相同,fignum 定义了使用的 figure(画布):
使用 mpimg.imread(fname, format=None)
,参数说明:
使用 mpimg.imsave(fname, arr, vmin=None, vmax=None, cmap=None, format=None, origin=None, dpi=100)
,重要参数说明:
使用 mpimg.thumbnail(infile, thumbfile, scale=0.1, interpolation='bilinear', preview=False)
,参数说明:
可接受:‘none’, ‘nearest’, ‘bilinear’, ‘bicubic’, ‘spline16’, ‘spline36’, ‘hanning’, ‘hamming’, ‘hermite’, ‘kaiser’, ‘quadric’, ‘catrom’, ‘gaussian’, ‘bessel’, ‘mitchell’, ‘sinc’, ‘lanczos’
官方提供的 Colormap 可以通过 这里 查询,可以直接通过名称在函数中调用,例如:
import numpy as np
import matplotlib.pyplot as plt
gradient = np.linspace(0, 1, 256)
gradient = np.vstack((gradient, gradient))
plt.imshow(gradient, cmap = 'YlOrRd') # 这里使用 cmap = 'YlOrRd' 来使用这种颜色映射
plt.show()
Matplotlib 还提供了 matplotlib.cm
类用来自定义 Colormap,这里不作介绍。
使用 plt.figimage()
来为 Figure(画布)添加图片,注意这个不是作用在 axes 上的。
重要参数如下:
参考网址:https://matplotlib.org/api/animation_api.html?highlight=animation
可以大概分成两个部分:
matplotlib.animation.FuncAnimation
类通过函数绘制动画matplotlib.animation.ArtistAnimation
类通过一些现成的图表绘制动画matplotlib.animation.FuncAnimation(fig, func, frames=None, init_func=None, fargs=None, save_count=None, **kwargs)
类
参数包括:
def func(frame, *fargs) -> iterable_of_artists:
,具体参数说明如下实际上 FuncAnimation 在工作时的机制更类似于:
for d in frames:
artists = func(d, *fargs)
fig.canvas.draw_idle()
fig.canvas.start_event_loop(interval)
最常使用 save(filename[, writer, fps, dpi, codec, ...])
成员函数,参数说明如下:
writer
参数使用其他成员函数还包括:
to_html5_video(embed_limit=None)
to_jshtml([fps, embed_frames, default_mode])
matplotlib.animation.ArtistAnimation(fig, artists, interval, repeat_delay, repeat, blit)
类
参数说明如下:
和 FuncAnimation 类一样
from IPython.display import HTMLHTML(ani.to_html5_video())
有几种渲染工具类可供选择,不做具体介绍。可以用于截取某些“帧”
使用 Pillow 库,所有数据均在缓存中:PillowWriter
介绍
基于管道(pipe-based),单独使用一个进程来渲染动画,效率更高,但是有些系统可能不适用:
FFMpegWriter
介绍ImageMagickWriter
介绍AVConvWriter
介绍基于文件(file-based),所有数据会缓存到文件中,速度慢一些,但是兼容性更好,易于排查问题
FFMpegFileWriter
介绍ImageMagickFileWriter
介绍AVConvFileWriter
介绍系列文章:
matplotlib 使用简明教程(一)-基础概念:
https://blog.csdn.net/fenghuizhidao/article/details/79352882
matplotlib 使用简明教程(二)-常用图表
https://blog.csdn.net/fenghuizhidao/article/details/83090043
matplotlib 使用简明教程(三)-一些专业图表简介
https://blog.csdn.net/fenghuizhidao/article/details/83090165
matplotlib 使用简明教程(四)-辅助性元件
https://blog.csdn.net/fenghuizhidao/article/details/83090249
matplotlib 使用简明教程(五)-画布、图表、元素基础操作
https://blog.csdn.net/fenghuizhidao/article/details/83090320
matplotlib 使用简明教程(六)-图像、动画相关
https://blog.csdn.net/fenghuizhidao/article/details/83090512
matplotlib 使用简明教程(七)-样式定义
https://blog.csdn.net/fenghuizhidao/article/details/83090553