Skip to content

Instantly share code, notes, and snippets.

🏠
Working from home

Joe Kington joferkington

🏠
Working from home
Block or report user

Report or block joferkington

Hide content and notifications from this user.

Learn more about blocking users

Contact Support about this user’s behavior.

Learn more about reporting abuse

Report abuse
View GitHub Profile
View datacursor_example_formatter_label.py
import random
import matplotlib.pyplot as plt
from mpldatacursor import datacursor
def main():
accounts = generate_accounts()
plot(accounts)
datacursor(formatter='Account #\n{label}'.format, bbox=dict(alpha=1))
plt.show()
View datacursor_example_lookup.py
import random
import matplotlib.pyplot as plt
from mpldatacursor import datacursor
def main():
accounts = generate_accounts()
lookup = plot(accounts)
datacursor(formatter=Formatter(lookup), bbox=dict(alpha=1))
plt.show()
View bachelors_mpl_pr.py
import matplotlib.pyplot as plt
from matplotlib.mlab import csv2rec
from matplotlib.cbook import get_sample_data
#fname = get_sample_data('percent_bachelors_degrees_women_usa.csv')
fname = 'percent_bachelors_degrees_women_usa.csv'
gender_degree_data = csv2rec(fname)
# These are the colors that will be used in the plot
View pandas_merge_example.py
import numpy as np
import pandas as pd
#-- Generate some data similar to yours
idx = np.arange(20)
np.random.shuffle(idx)
idx1 = idx[:15]
np.random.shuffle(idx)
idx2 = idx[:10]
View matplotlib_layout_model.py
import matplotlib.pyplot as plt
def main():
resized = (8, 3)
basic_example()
basic_example(resized)
fixed_aspect()
fixed_aspect(resized)
View zeroing.py
# Make up some data in nested lists
strain_data = [[1, 2, 3, 4], [5, 6, 7, 8], [9, 10, 11, 12]]
# To make things a bit more readable, let's define a function that operates
# on a single list...
def zero(data):
"""Returns the difference between the items in "data" and its first item."""
# This is a "list comprehension". It's basically a 1-line for loop
return [item - data[0] for item in data]
View gist:2465280
import numpy as np
def process_file(filename, num_cols, delimiter='\t'):
def items(infile):
for line in infile:
for item in line.rstrip().split(delimiter):
yield float(item)
with open(filename, 'r') as infile:
data = np.fromiter(items(infile))
@joferkington
joferkington / excel_col_names.py
Created Oct 10, 2012
excel-style label conversion
View excel_col_names.py
"""MIT license"""
import xlrd
import re
def col2index(name):
name = name.upper()
col = -1
for i, letter in enumerate(name[::-1]):
col += (ord(letter) - ord('A') + 1) * 26**i
@joferkington
joferkington / struct_vs_numpy_example.py
Last active Dec 7, 2015
Writing an arbitrary, pre-existing numpy array to a hetergenous binary format
View struct_vs_numpy_example.py
import numpy as np
# Our input data...
x = np.random.randint(0, 3200, (1000,1000))
# We're replacing something like
# struct.pack(">"+"hB"*x.size)
# Note that that's a 2-byte signed int followed by 1-byte unsigned
# We'll need to create the output 1D array and assign manually:
@joferkington
joferkington / gist:5074650
Created Mar 3, 2013
Print the largest (by area) contiguous object in an array
View gist:5074650
import numpy as np
import scipy.ndimage as ndimage
# The array you gave above
data = np.array(
[
[1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 0, 0, 0, 1, 1, 1, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
[0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0],
You can’t perform that action at this time.