您的位置:首页 > 编程语言 > PHP开发

Matplot使用笔记

2015-11-23 01:23 639 查看

最简单的模板

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

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()的行为比较诡异
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: