Data Visualization in matplotlib

41
LET YOUR DATA SPEAK! DATA VISUALISATION IN MATPLOTLIB by Bartosz Teleńczuk

Transcript of Data Visualization in matplotlib

Page 1: Data Visualization in matplotlib

LET YOUR DATA SPEAK!DATA VISUALISATION IN MATPLOTLIB

by Bartosz Teleńczuk

Page 2: Data Visualization in matplotlib

INTR

ODUC

TION

Page 3: Data Visualization in matplotlib

ANSCOMBE DATASET

Page 4: Data Visualization in matplotlib

EXPLORATORY DATA ANALYSISThe greatest value of a picture is when it forces

us to notice what we never expected to see.

Page 5: Data Visualization in matplotlib

VISUAL PRESENTATION

Page 6: Data Visualization in matplotlib

2004 2005 2006 2007 2008 2009 2010 2011 2012 2013

The Journal of neuroscience :...Nature neurosciencePloS oneNatureNeuronProceedings of the National...Nature methodsCurrent opinion in...Science (New York, N.Y.)Current biology : CBJournal of neurophysiologyFrontiers in neural circuitsBrain researchFrontiers in molecular...The Journal of biological...Conference proceedings : ......Progress in brain researchJournal of neuroscience...Journal of visualized...Neuroscience researchCellBiological psychiatryThe Journal of physiologyNature protocolsBehavioural brain researchExperimental physiologyNeuropharmacologyNeuroscienceNature communicationsNeurosurgery

INTERACTIVE

PRESENTATION

Page 7: Data Visualization in matplotlib

John Hunter (1968 - 2012)

Page 8: Data Visualization in matplotlib
Page 9: Data Visualization in matplotlib
Page 10: Data Visualization in matplotlib

PATTERNS OVER TIME

Page 11: Data Visualization in matplotlib

BACKENDSTkAgg Qt4Agg WebAgg

Page 12: Data Visualization in matplotlib

ANTIGRAIN GEOMETRY

Page 13: Data Visualization in matplotlib

Raster (PNG) Vector (SVG)

Page 14: Data Visualization in matplotlib

PYPLOT INTERFACE import matplotlib.pyplot as pltplt.figure()plt.subplot(...)plt.plot(...) plt.show()

pyplot is a stateful interface that handles muchof the boilerplate for creating figures and axesand connecting them to the backend of your

choice, and maintains module-level internal datastructures representing the current figure and

axes to which to direct plotting commands.

Page 15: Data Visualization in matplotlib

RECAPplt.plotplt.showplt.xlabelplt.ylabelplt.xlimplt.gcaplt.text

xaxis.set_minor_locatoryaxis.set_major_locator

YearsLocatorMonthLocator

Page 16: Data Visualization in matplotlib

PROPORTIONS

Page 17: Data Visualization in matplotlib

ARTISTS

Figure Axes

Line2D

X/YAxis

Spines

Label

Ticks

Page 18: Data Visualization in matplotlib

DESIGN POINTS

Page 19: Data Visualization in matplotlib

SIGNAL-TO-NOISE RATIO

Page 20: Data Visualization in matplotlib

RECAPplt.bar

plt.xticks(pos, labels) Spine.set_visible

Axis.set_ticks_position Axes.set_axis_bgcolor

plt.grid plt.title

Page 21: Data Visualization in matplotlib

DISTRIBUTIONS

Page 22: Data Visualization in matplotlib

STEM-AND-LEAF PLOT1.1 2.2 2.8 3.2 3.4 3.4 3.5 4.1 4.9 5.5 5.7

1. 12. 2 83. 2 4 4 54. 1 95. 5 7

Page 23: Data Visualization in matplotlib
Page 24: Data Visualization in matplotlib

BOXPLOTS

Page 25: Data Visualization in matplotlib

TRANSFORMS

data transform

axes transform

(7,1)

(7,-1)(0,-1)

(0,1)

(1,0)

(1,1)(0,1)

(0,0)

figure transform (1,1)(0,1)

(0,0) (1,0)

Page 26: Data Visualization in matplotlib

RECAPplt.histplt.boxplotplt.legendplt.textplt.setpplt.vlines

Axes.transAxesAxes.transData

blended_transform_factory

Page 27: Data Visualization in matplotlib

CORRELATIONS

Page 28: Data Visualization in matplotlib

SMALL MULTIPLIES

Page 29: Data Visualization in matplotlib

USE OF COLOR

*

*

jet

hot

gray

heatmap

Bang Wong, Nature Methods, 2010

Page 30: Data Visualization in matplotlib

VISUAL ILLUSION

Page 31: Data Visualization in matplotlib

MATPLOTLIB COLORMAPS

Page 32: Data Visualization in matplotlib

RECAPplt.subplots

Axes.set_axis_offplt.imshowrcParams

Page 33: Data Visualization in matplotlib

FINDING PATTERNS

Page 34: Data Visualization in matplotlib

PRINCIPAL COMPONENT ANALYSIS

Page 35: Data Visualization in matplotlib

K-MEANS CLUSTERING

Page 36: Data Visualization in matplotlib

VISUAL ENCODING CHANNELSposition

color saturation

length

angle

area

volume

color intensity

shape

color hue

Page 37: Data Visualization in matplotlib

RECAPplt.scatter

mcolors.Normalizecm.get_cmap

Page 38: Data Visualization in matplotlib

MAKING MAPS

Page 39: Data Visualization in matplotlib

MAP PROJECTIONS

Page 40: Data Visualization in matplotlib

CHOROPLETH MAP

Page 41: Data Visualization in matplotlib

RECAPmatplotlib plt.contourf cartopy

cartopy.crscartopy.ioax.coastlinesax.add_featureax.set_extentax.add_image

ax.add_geometries