Matplot使用笔记

来源:互联网 发布:nearest neighbor算法 编辑:程序博客网 时间:2024/05/03 21:12

最简单的模板

一次性使用各种控件图单窗口绘制):

from numpy import *import matplotlib.pyplot as pltplt.subplot(111)x = linspace(0,5,100)y =sin(x) + xplt.plot(x, y,'r-')plt.bar(x[::10],y[::10],0.3,align='center', alpha=0.8,color=(0.2,0.1,1))plt.title('Title')plt.xlabel('X Label')plt.show()

各功能可参考 pyplot summary


获取axes进行精细控制

from numpy import *import matplotlib.pyplot as pltfig = plt.figure(2)ax = fig.add_subplot(111)ax.plot(range(10))ax.inshow(im,cm='gray')rect = mpatches.Rectangle([100,150], 200, 200, linewidth = 2.5, edgecolor='r', facecolor = 'none')ax.add_patch(rect)fig.canvas.draw()fig.show()

如何选择绘图后端(到文件)?

from matplotlib.backends.backend_pdf import PdfPagespp = PdfPages('multipage.pdf')plt.savefig(pp, format='pdf')pp.savefig()pp.close()import matplotlibmatplotlib.use('Agg')import matplotlib.pyplot as pltplt.plot([1,2,3])plt.savefig('myfig')

如何绘制方框?
绘制其他图形的样例代码?
动画模式:多帧图片快速显示?

BUG:
Anaconda包 的 Qt IPython console在使用matplotlib时,默认用的绘图backend是Qt4Agg。若plt.ion()使用非阻塞模式,则绘图后窗口无图、无响应,主python kernel die

winPython包 的 Qt IPython console默认使用’module://IPython.kernel.zmq.pylab.backend_inline’作为后端,并使用inline模式。每条指令之后绘图。如何叠加?

Spyder也使用Qt4Agg后端,弹出窗口基本正常。但多次使用plt.show()的行为比较诡异

0 0