Instantly share code, notes, and snippets.

# iros/0.plt.txt Last active Aug 29, 2015

matplotlib style attributes
 alpha Alpha (transparency) of the plot – default is 1 (no transparency) color Color description for the line.1 label Label for the line – used when creating legends linestyle A line style symbol linewidth A positive integer indicating the width of the line marker A marker shape symbol or character markeredgecolor Color of the edge (a line) around the marker markeredgewidth Width of the edge (a line) around the marker markerfacecolor Face color of the marker markersize A positive integer indicating the size of the marker
 # get help setp(h, ’linestyle’) linestyle: [ ‘‘’-’‘‘ | ‘‘’--’‘‘ | ‘‘’-.’‘‘ | ‘‘’:’‘‘ | ‘‘’None’‘‘ | ‘‘’ ’‘‘ | ‘‘’’‘‘ ] and any drawstyle in combination with a linestyle, e.g. ‘‘’steps--’‘‘. setp(h, ’linestyle’, '''---''')
 from matplotlib.pyplot import figure, plot, bar, pie, draw, scatter from numpy.random import randn, rand from numpy import sqrt, arange fig = figure() # Add the subplot to the figure # Panel 1 ax = fig.add_subplot(2, 2, 1) y = randn(100) plot(y) ax.set_title(’1’) # Panel 2 y = rand(5) x = arange(5) ax = fig.add_subplot(2, 2, 2) bar(x, y) ax.set_title(’2’) # Panel 3 y = rand(5) y = y / sum(y) y[y < .05] = .05 ax = fig.add_subplot(2, 2, 3) pie(y) ax.set_title(’3’) # Panel 4 z = randn(100, 2) z[:, 1] = 0.5 * z[:, 0] + sqrt(0.5) * z[:, 1] x = z[:, 0] y = z[:, 1] ax = fig.add_subplot(2, 2, 4) scatter(x, y) ax.set_title(’4’) draw()

### figure

figure is used to open a figure window, and can be used to generate axes. fig = figure(n) produces a figure object with id n, and assigns the object to fig.

add_subplot is used to add axes to a figure. ax = fig.add_subplot(111) can be used to add a basic axes to a figure. ax = fig.add_subplot(m,n,i) can be used to add an axes to a non-trivial figure with a m by n grid of plots.

### close

close closes figures. close(n) closes the figure with id n, and close(’all’) closes all figure windows.

### show

show is used to force an update to a figure, and pauses execution if not used in an interactive console (close the figure window to resume execution). show should not be used in standalone Python programs – draw should be used instead.

### draw

draw forces an update to a figure.

### savefig

Save to file: savefig(’filename.ext’) ext can be png, gif, jpg, svg etc.

 T = 100 x = [] for i in xrange(1,T+1): x.append(dt.datetime(2012,3,1)+dt.timedelta(i,0,0)) y = cumsum(rnd.randn(T)) fig = figure() ax = fig.add_subplot(111) ax.plot(x,y) # A call to autofmt_xdate() can be used to address the issue of overlapping labels fig.autofmt_xdate() draw() # further customize time labels: # %Y - 4 digit numeric year # %m - Numeric month # %d - Numeric day # %b - Short month name # %H - Hour # %M - Minute # %D - Named day months = mdates.MonthLocator() ax.xaxis.set_major_locator(months) fmt = mdates.DateFormatter(’%b %Y’) ax.xaxis.set_major_formatter(fmt) fig.autofmt_xdate() draw() # make sure the first tick on the left is showing xlim = list(ax.get_xlim()) xlim = mdates.date2num(dt.datetime(2012,3,1)) ax.set_xlim(xlim) draw()

#### subselecting columns

Single: `d['Destination']` or `d.Destination`

multiple: `d[['Destination', 'Year', 'Refugees', 'AsylumSeekers']]`

#### select rows by boolean condition

```st = d['col'] != '*'
d[st]```

Selecting subset of columns and rows:

`d.ix[rows, cols]`

`d.ix[st, ['col1', 'col2']`

#### delete column:

`del d[’col1’]`

#### data frame to a stack

``````x = d.stack()
x
``````

results in:

``````Year                       1968
Destination             Lebanon
Origin         Syrian Arab Rep.
Refugees                   1200
Total                      1200
dtype: object
``````

now I can call

`x.Year`

Handy for iteration?

`d.unstack()` back to dataframe.

#### merging

merge and join provide SQL-like operations for merging the DataFrames using row labels or the contents of columns. The primary difference between the two is that merge defaults to using column contents while join defaults to using index labels. Both commands take a large number of optional inputs. The important keyword arguments are:

• `how`, which must be one of ’left’, ’right’, ’outer’, ’inner’ describes which set of indices to use when performing the join. ’left’ uses the indices of the DataFrame that is used to call the method and ’right’ uses the DataFrame input into merge or join. ’outer’ uses a union of all indices from both DataFrames and ’inner’ uses an intersection from the two DataFrames.
• `on` is a single column name of list of column names to use in the merge. on assumes the names are common. If no value is given for on or left_on/right_on, then the common column names are used.
• `left_on` and `right_on` allow for a merge using columns with different names. When left_on and right_on contains the same column names, the behavior is the same as on.
• `left_index` and `right_index` indicate that the index labels are the join key for the left and right DataFrames.