Skip to content

jbmohler/mplfastaxes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

10 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mplfastaxes

I have observed that the amount of time to draw a figure with a plot depends heavily on the number of tick marks on the axes. This appears to be a major driver of perceived refresh performance on interactive graphics in PySide (for example). Somewhat tangentially this makes log axes appear to perform slowly, but I think that is merely a side-effect of the fact that log axes come with minor tick marks by default.

The motivation for the large_grid example comes from https://gist.github.com/btel/a6b97e50e0f26a1a5eaa

This repository has a prototype optimization by using a single Line2D for all the tick marks of each type (tick1, tick2, minor, major).

The table here is output by test_agg_speed.py.

func      :    std( make)  fast( make)
vanilla   :   0.05( 0.06)  0.04( 0.01) ( 1.5x faster) Identical:  True
labeled   :   0.07( 0.05)  0.06( 0.01) ( 1.3x faster) Identical:  True
t_labels  :   0.04( 0.06)  0.03( 0.02) ( 1.7x faster) Identical:  True
hexplot   :   0.25( 0.34)  0.16( 0.03) ( 1.5x faster) Identical:  True
large_grid:   1.52(22.35)  1.01( 2.32) ( 1.5x faster) Identical:  True
log       :   0.20( 0.13)  0.06( 0.01) ( 3.5x faster) Identical:  True
tight     :   0.07( 0.05)  0.05( 0.01) ( 1.3x faster) Identical:  True
tightlog  :   0.18( 0.06)  0.04( 0.01) ( 4.3x faster) Identical:  True
manyticks :   0.20( 0.05)  0.04( 0.01) ( 5.0x faster) Identical:  True
tickless  :   0.01( 0.06)  0.01( 0.01) ( 1.1x faster) Identical:  False

About

prototype for optimized MPL tick marks

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages