Last active
March 20, 2021 11:37
-
-
Save joferkington/9214844 to your computer and use it in GitHub Desktop.
Example of distributing a stand-alone executable with matplotlib and cx_freeze
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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() |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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