Your SlideShare is downloading. ×
0
Life after matplotlib:
Harder, better, faster, stronger
Kayla Iacovino
http://code.google.com/p/avoplot
A brief history of me.
A brief history of me.
A brief history of me.
It all started with a bang...
...and a rather chilly garage
Data Problems
+
Existing Python tools
● Aims
● Design
● Current state
● Future
=
Science in a nutshell.
Data
Import
Processing
Visualisation
What is the problem?
● Need general tools that can be
specialised for the task at hand.
● Specialisations should be easily...
Python solves all?
Data
Import
Processing
Visualisation
● xlrd
● NumPy
● csv
● Pandas
● SciPy
● NumPy
● matplotlib
What is the real problem?
● Scientists are not (usually)
programmers.
● Scientists are usually in a hurry.
● Scientists ar...
AvoPlot: Aims
● Graphical frontend to matplotlib.
● Graphical import of common data
formats (txt, csv, xls etc.).
● Basic ...
● Drag and drop replacement for
matplotlib's pyplot interface.
● Easily customisable.
● Framework for scientists to create...
GUI interface for easy
data visualisation
Plugins mean AvoPlot is
versatile – and extensible!
Powered by Python with a
pow...
“Open-source software is written by a
bunch of hippies living in a commune in
Palo Alto. With their beards down to their
s...
import matplotlib.pyplot as plt
import numpy
xdata = numpy.linspace(0, 7, 500)
ydata = numpy.cos(xdata)
plt.plot(xdata, yd...
Plugins
● Python module or Python package
● Allow import of new data types, and
provision of new manipulation or
processin...
FTIR Plugin
#define new data series type for FTIR data
class FTIRSpectrumData(series.XYDataSeries):
def __init__(self, *ar...
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
Overview/Conclusions
● It works (sort of).
● It's useful (at least we think so).
● More developers are needed!
Questions
http://code.google.com/p/avoplot
Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino
Life after Matplotlib: Harder, Better, Faster, Stronger by Kayla Lacovino
Upcoming SlideShare
Loading in...5
×

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

1,124

Published on

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
1,124
On Slideshare
0
From Embeds
0
Number of Embeds
3
Actions
Shares
0
Downloads
15
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

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

  1. 1. Life after matplotlib: Harder, better, faster, stronger Kayla Iacovino http://code.google.com/p/avoplot
  2. 2. A brief history of me.
  3. 3. A brief history of me.
  4. 4. A brief history of me.
  5. 5. It all started with a bang...
  6. 6. ...and a rather chilly garage
  7. 7. Data Problems + Existing Python tools ● Aims ● Design ● Current state ● Future =
  8. 8. Science in a nutshell. Data Import Processing Visualisation
  9. 9. What is the problem? ● Need general tools that can be specialised for the task at hand. ● Specialisations should be easily reusable.
  10. 10. Python solves all? Data Import Processing Visualisation ● xlrd ● NumPy ● csv ● Pandas ● SciPy ● NumPy ● matplotlib
  11. 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. 12. AvoPlot: Aims ● Graphical frontend to matplotlib. ● Graphical import of common data formats (txt, csv, xls etc.). ● Basic data processing capabilities.
  13. 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. 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. 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. 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. 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. 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. 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. 20. Overview/Conclusions ● It works (sort of). ● It's useful (at least we think so). ● More developers are needed!
  21. 21. Questions http://code.google.com/p/avoplot
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×