⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 backend_driver.py

📁 非原创。很好的python例子
💻 PY
字号:
#!/usr/bin/env python"""This is used to drive many of the examples across the image backends,for regression testing, and comparing backend efficiency"""from __future__ import divisionimport os, timefiles = (    'alignment_test.py',    'arctest.py',    'axes_demo.py',    'bar_stacked.py',    'barchart_demo.py',    'color_demo.py',    'contour_demo.py',    'contourf_demo.py',    'csd_demo.py',    'custom_ticker1.py',    'customize_rc.py',    'date_demo1.py',    'date_demo2.py',        'figimage_demo.py',    'figlegend_demo.py',    'figtext.py',    'fill_demo.py',    'finance_demo.py',#    'fonts_demo_kw.py',    'histogram_demo.py',    'image_demo.py',    'image_demo2.py',    'image_demo_na.py',    'image_origin.py',    'invert_axes.py',    'layer_images.py',    'legend_demo.py',    'legend_demo2.py',    'line_collection.py',    'line_styles.py',    'log_demo.py',    'log_test.py',    'major_minor_demo1.py',    'major_minor_demo2.py',         'mathtext_demo.py',    'mri_with_eeg.py',    'multiple_figs_demo.py',    'pcolor_demo.py',    'pcolor_demo2.py',    'pcolor_small.py',    'pie_demo.py',    'polar_demo.py',    'polar_scatter.py',    'psd_demo.py',    'scatter_demo.py',    'scatter_demo2.py',    'simple_plot.py',    'specgram_demo.py',    'stock_demo.py',    'subplot_demo.py',#    'set_and_get.py',        'table_demo.py',    'text_handles.py',    'text_rotation.py',    'text_themes.py',#    'tex_demo.py',        'two_scales.py',    'unicode_demo.py',    'vline_demo.py',    'zorder_demo.py',    )#tests known to fail on python22 (require datetime)fail22  = (    'date_demo1.py',    'date_demo2.py',        'finance_demo.py',    )# tests known to fail on a given backendfailbackend = dict(    SVG = ('tex_demo.py,'),    )def drive(backend, python='python2.4'):    exclude = failbackend.get(backend, [])        for fname in files:        if fname in exclude:            print '\tSkipping %s, known to fail on backend: %s'%backend            continue                    if python=='python2.2' and fname in fail22:            print '\tSkipping %s, known to fail on python2.2'%fname            continue        print '\tdriving %s' % fname        basename, ext = os.path.splitext(fname)        outfile = basename + '_%s'%backend        tmpfile_name = '_tmp_%s.py' % basename        tmpfile = file(tmpfile_name, 'w')        tmpfile.writelines((            'from __future__ import division\n',            'import matplotlib\n',            'matplotlib.use("%s")\n' % backend,            ))        for line in file(fname):            line_lstrip = line.lstrip()            if (line_lstrip.startswith('from __future__ import division') or                line_lstrip.startswith('matplotlib.use') or                line_lstrip.startswith('savefig') or                line_lstrip.startswith('show')):                continue            tmpfile.write(line)        if backend in ('GTK', 'WX', 'TkAgg'):            tmpfile.write('show()')        else:            tmpfile.write('savefig("%s", dpi=150)' % outfile)        tmpfile.close()        os.system('%s %s' % (python, tmpfile_name))        os.remove(tmpfile_name)if __name__ == '__main__':    times = {}    # backends = ['Agg', 'Cairo', 'GDK', 'PS', 'SVG', 'Template']    #backends = ['Agg', 'PS', 'SVG', 'Template']    # backends = [ 'GTK', 'WX', 'TkAgg']    backends = ['Agg', 'PS', 'SVG', 'Template']    #backends = ['Agg']    python = 'python2.4'    for backend in backends:        print 'testing %s' % backend        t0 = time.time()        drive(backend, python)        t1 = time.time()        times[backend] = (t1-t0)/60.0    # print times    for backend, elapsed in times.items():        print 'Backend %s took %1.2f minutes to complete' % ( backend, elapsed)        if 'Template' in times:            print '\ttemplate ratio %1.3f, template residual %1.3f' % (                elapsed/times['Template'], elapsed-times['Template'])

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -