很多科研工作者熟悉matlab工具,用matlab来做仿真,画图,以及各种算法优化,matlab的鬼斧神工以及效率性能得心应手,令人爱不释手。但是matlab毕竟那么大,处处用matlab来做画图形,明显不科学。今天将的Python中的一个比较牛逼的画图库,就是类似matlab的matplotlib库,这是一个能画2D平面图的,各种统计图都能画的工具。
基本上matlab能画的图,在matplotlib上都能画,如果有不会的可以直接来问我。毕竟那么多个方法,也不能都讲述。我用到这个库是因为碰到一个二维数组,要渲染出图形。由于刚接触深度图这个概念,所以当时很不能理解为什么一个二维数组就是一幅图。
代码也比较简单,只要将二维数组加进去即可
用这个库来画图效果还是很不错的,而且主要是依赖的运行环境小,不需要大量的代码。当然如果你要修改坐标轴的精度,或者添加标签legend,都是可以的。
这个画图工具也支持动态库刷新,在交互方面也是相当牛逼的。无论你是同时去刷新多张图,还是同一张图帧率提高,都是非常快的。
pyplot.ion()是matplotlib的显示模式转换为交互模式。即使在脚本中遇到pyplot.show(),代码还是会继续执行。如果你理解了同步和异步的话,那么会很容易理解交互模式和阻塞模式。
阻塞模式跟同步的概念一样,打开一个窗口以后必须关掉才能打开下一个新的窗口。所以说阻塞模式你是无法同时画出多个窗口的,pyplot.plot()或pyplot.imshow()是直接画出图像,需要show后才能显示图像。
交互模式和异步的概念一样,可以同时显示并刷新多个窗口。遇到pyplot.plot(x)或者 pyplot.imshow()是直接画出图像,不需要show()。需要特别注意的是,如果使用ion()命令开启了交互模式,没有使用ioff()关闭的话,则图像会一闪而过,并不会常留。要想防止这种情况,需要在pyplot.show()之前加上ioff()命令。
兔云程序
致力于推广编程教程,服务程序员
20篇原创内容
公众号