Your SlideShare is downloading. ×
Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino

796
views

Published on

Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino

Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
796
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
11
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Life after matplotlib: Harder, better, faster, stronger Kayla Iacovino http://code.google.com/p/avoplot
  • 2. A brief history of me.
  • 3. A brief history of me.
  • 4. A brief history of me.
  • 5. It all started with a bang...
  • 6. ...and a rather chilly garage
  • 7. Data Problems + Existing Python tools ● Aims ● Design ● Current state ● Future =
  • 8. Science in a nutshell. Data Import Processing Visualisation
  • 9. What is the problem? ● Need general tools that can be specialised for the task at hand. ● Specialisations should be easily reusable.
  • 10. Python solves all? Data Import Processing Visualisation ● xlrd ● NumPy ● csv ● Pandas ● SciPy ● NumPy ● matplotlib
  • 11. What is the real problem? ● Scientists are not (usually) programmers. ● Scientists are usually in a hurry. ● Scientists are stupid (outside of their field). ● Scripting is a frustrating way to achieve visualisation tasks.
  • 12. AvoPlot: Aims ● Graphical frontend to matplotlib. ● Graphical import of common data formats (txt, csv, xls etc.). ● Basic data processing capabilities.
  • 13. ● Drag and drop replacement for matplotlib's pyplot interface. ● Easily customisable. ● Framework for scientists to create GUIs for their processing tools. AvoPlot: Aims 2
  • 14. GUI interface for easy data visualisation Plugins mean AvoPlot is versatile – and extensible! Powered by Python with a powerful scripting interface Anatomy of AvoPlot
  • 15. “Open-source software is written by a bunch of hippies living in a commune in Palo Alto. With their beards down to their socks and sandals, living on nothing but organic avocados. Look at me, I am so moral.” - Talfan Barnie, 2010 (somewhere in Ethiopia) But what has this got to do with  avocados?
  • 16. import matplotlib.pyplot as plt import numpy xdata = numpy.linspace(0, 7, 500) ydata = numpy.cos(xdata) plt.plot(xdata, ydata, 'r-') plt.show() import avoplot.pyplot as plt import numpy xdata = numpy.linspace(0, 7, 500) ydata = numpy.cos(xdata) plt.plot(xdata, ydata, 'r-') plt.show() Scripting interface
  • 17. Plugins ● Python module or Python package ● Allow import of new data types, and provision of new manipulation or processing tools. ● Distributed with distutils. ● Highly integrated with the GUI.
  • 18. FTIR Plugin #define new data series type for FTIR data class FTIRSpectrumData(series.XYDataSeries): def __init__(self, *args, **kwargs): super(FTIRSpectrumData, self).__init__(*args, **kwargs) self.add_control_panel(BackgroundCalcCtrl(self)) @staticmethod def get_supported_subplot_type(): return FTIRSpectrumSubplot class FTIRPlugin(plugins.AvoPlotPluginSimple): def __init__(self): super(FTIRPlugin, self).__init__("FTIR Plugin", FTIRSpectrumData) self.set_menu_entry(['FTIR', 'New Spectrum'], "Plot an FTIR spectrum")
  • 19. AvoPlot: the future X Y 0.3 0.296 0.4 0.389 0.5 0.479 0.6 0.565 0.7 0.644 0.8 0.767 0.9 0.783 1.0 0.841 1.1 0.891 1.2 0.932
  • 20. Overview/Conclusions ● It works (sort of). ● It's useful (at least we think so). ● More developers are needed!
  • 21. Questions http://code.google.com/p/avoplot