Last active

Embed URL

HTTPS clone URL

SSH clone URL

You can clone with HTTPS or SSH.

Download Gist

Example of distributing a stand-alone executable with matplotlib and cx_freeze

View data.csv
1 2 3 4
931,Oxfordshire,9314125,123255,Larkmead School,Abingdon,125,124,20,SUPP,8
931,Oxfordshire,9314126,123256,John Mason School,Abingdon,164,164,25,6,16
931,Oxfordshire,9314127,123257,Fitzharrys School,Abingdon,150,149,9,0,11
931,Oxfordshire,9316076,123298,Our Lady's Abingdon,Abingdon,57,57,SUPP,SUPP,16
View data.csv
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
import pandas as pd
import matplotlib.pyplot as plt
from mpldatacursor import datacursor
 
# Beware paths in the current directory! This is deliberately slightly incorrect.
# (We need to find the path to "data.csv" at runtime.)
# See: http://cx-freeze.readthedocs.org/en/latest/faq.html#using-data-files
df = pd.read_csv('data.csv', names=['A','B','C','D','E','F','G', 'H','I','J', 'K'],
header=None)
df.replace('SUPP', 3.0, inplace=True)
df = df.convert_objects(convert_numeric=True)
df['KG'] = df['K']*1.0/df['G']
plt.plot(df['KG'], marker='o')
 
l, = plt.plot(df['KG'], marker='o', linestyle='', visible=False)
datacursor(l, hover=True, point_labels=df['E'], bbox=dict(fc='white'),
formatter=lambda **kwargs: kwargs['point_label'][0], xytext=(0, 25))
 
plt.show()
View data.csv
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
import cx_Freeze
import sys
import matplotlib
base = None
if sys.platform == "win32":
base = "Win32GUI"
 
executables = [
cx_Freeze.Executable("plot.py", base = base),
]
 
build_exe_options = {"includes":["matplotlib.backends.backend_tkagg"],
"include_files":[(matplotlib.get_data_path(), "mpl-data"),
('data.csv', 'data.csv')],
"excludes":[],
}
cx_Freeze.setup(
name = "script",
options = {"build_exe": build_exe_options},
version = "0.0",
description = "A basic example",
executables = executables)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.