Skip to content

Instantly share code, notes, and snippets.

@joferkington
Last active March 20, 2021 11:37
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save joferkington/9214844 to your computer and use it in GitHub Desktop.
Save joferkington/9214844 to your computer and use it in GitHub Desktop.
Example of distributing a stand-alone executable with matplotlib and cx_freeze
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
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()
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