Я преобразовал свой проект из файла .py
в файл .exe
.
В моем проекте я создаю несколько графиков, и они выглядят очень аккуратно, когда я запускаю проект через Spyder
. К сожалению, когда я конвертирую его в файл .exe, это не так.
Ниже изображен график из Spyder
:
And это изображение графика, созданного с помощью файла .exe
:
И некоторые графики выглядят даже хуже. С этим графиком я использовал следующий код:
Сначала я рисую график на основе моих параметров:
if (not self.ax):
self.ax= self.fig.add_axes([0.1, 0.2, 0.8, 0.65])
else:
self.ax.set_position([0.1, 0.2, 0.8, 0.65])
if (self.ax2):
self.fig.delaxes(self.ax2)
self.ax2=None
self.ax.cla()
self.ax.scatter(volt_chk,cap_chk,label="Capacitance Chuck")
self.ax.scatter(volt_rls,cap_rls,label="Capacitance Release")
self.ax.set_xlabel('Voltage (v)')
self.ax.set_ylabel('Capacitance')
self.axParamText=self.ax.text(0.1, 0.9,'Vmax= '+str(Vmax)+'; Step1= '+str(Step1)+'; Step2= '+str(Step2)+'; Threshold= '+str(Threshold)+'; dt= '+str(dt)+'; maxCritVolt= '+str(maxCritVolt)+'; multiplier= '+str(multiplier),transform=self.fig.transFigure)
self.fig.canvas.draw_idle()
self.ax.legend(bbox_to_anchor=(1, 0.75), bbox_transform=self.ax.transAxes)
После этого я делаю некоторые корректировки, чтобы включить результаты испытаний, которые вы видите на правая сторона:
if (not self.ax):
self.ax= self.fig.add_axes([0.1, 0.2, 0.7, 0.65])
self.ax.set_position([0.1, 0.2, 0.7, 0.65])
if(self.skipped==True):
self.ax.text(0.82, 0.6,'Test result: Skipped',transform=self.fig.transFigure)
elif (self.stopped==True):
self.axResText=self.ax.text(0.82, 0.6,'Test result: Stopped',transform=self.fig.transFigure)
elif(self.passed=='Threshold'):
self.axResText= self.ax.text(0.82, 0.6,'Test result: Failed\nDid not pass Threshold',transform=self.fig.transFigure)
elif(self.passed==False):
self.axResText= self.ax.text(0.82, 0.6,'Test result: Failed\nCritcal Voltage= '+str(critVolt)+'\nmaxCritVolt= '+str(maxCritVolt),transform=self.fig.transFigure)
else:
self.axResText= self.ax.text(0.82, 0.6,'Test result: Passed\nCritcal Voltage= '+str(critVolt)+'\nmaxCritVolt= '+str(maxCritVolt),transform=self.fig.transFigure)
Я преобразовал через pyinstaller
.
Что я могу сделать по этому поводу? Есть ли что-то, что я могу сделать, или мне всегда придется go методом проб и ошибок, пока я не получу правильное объяснение при совмещении от .py
до .exe
?
Сейчас я не вижу другого решения, кроме изменения всех масштабируйте, конвертируйте, проверяйте и делайте это взад и вперед до тех пор, пока оно не станет правильным - это может занять у меня кучу времени, поскольку это длинный код с большим количеством графиков ..
Заранее спасибо!
*** РЕДАКТИРОВАТЬ: Забыл упомянуть - это происходит только с графиками, все хорошо с метками, кнопками и т. Д. c .. Использовал их для создания моих графиков:
import matplotlib.pyplot as plt
from matplotlib.backends.backend_qt5agg import FigureCanvas