En raison de diverses circonstances, il y a eu un cas où la fonction de dessin de graphe de Python a été utilisée sous Windows, qui est un environnement d'exécution non Python, elle est donc décrite comme un mémorandum. C'est peut-être en nuget, mais je n'ai pas pu le savoir ...
OS: Windows 10 64bit Python:3.6.10 Pyinstaller:3.5
Puisque je veux un graphique de heatmap cette fois, j'ai créé un script "heatMap.py" qui dessine une heatmap et l'enregistre au format .png. Finalement, .exe sera exécuté à partir de Windows, donc pour plus de facilité d'utilisation,
import sys
import os
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
def Heatmap(data):
ax = sns.heatmap(data,annot=True)
return ax
if __name__ == '__main__':
args = sys.argv
load_path = args[1]
save_path = args[2]
save_name = args[3]
print(load_path,save_path,save_name)
data = np.loadtxt(load_path,delimiter=",")
hoge = Heatmap(data)
hoge.plot()
plt.savefig(os.path.join(save_path,save_name),facecolor="blue")
Premier argument args [1]: chemin de la source de données (fichier csv) + spécification du fichier Deuxième argument args [2]: Spécifiez le chemin pour enregistrer le graphe Troisième argument args [3]: nom du graphique. Format d'enregistrement spécifié
Voir ici pour l'exécution de python avec des arguments, Pour la spécification du chemin savefig de matplotlib, reportez-vous à here.
Créez .exe avec pyinstaller en vous référant à cet article.
Un dossier contenant les DLL associées a été créé.
[App.exe] [1er argument] [2ème argument] [3ème argument]
C:\Users\user.name>heatMap.exe C:\Users\user.name\Documents\Python\Graph\DataSrc\matrix.csv C:\Users\user.name\Documents\Python\Graph\GraphDst heatMapTest.png
C'est fait.
Cependant, cela prend quelques secondes pour l'exécuter car il s'agit d'une stratégie pour l'exécuter depuis le début à chaque fois. → Mesure réelle environ 4 secondes Étant donné que l'enregistrement du fichier est répété, il ne convient pas pour exécuter ce fichier .exe du côté de l'application Windows et importer le fichier de sortie du côté de l'application. (Je peux le faire s'il est tard) La prochaine fois, créez .exe toujours actif et renvoyez-le par communication inter-processus