Matplot使用笔记


最简单的模板

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

from numpy import *
import matplotlib.pyplot as plt
plt.subplot(111)
x = linspace(0,5,100)
y =sin(x) + x
plt.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 plt
fig = 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 PdfPages
pp = PdfPages('multipage.pdf')
plt.savefig(pp, format='pdf')
pp.savefig()
pp.close()


import matplotlib
matplotlib.use('Agg')
import matplotlib.pyplot as plt
plt.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()的行为比较诡异

你可能感兴趣的:(图像处理与识别,Python笔记)