0

我正在尝试将图形保存为 png 文件,其中 2/3 正在保存最新版本。

但是,未正确保存的图确实在 python 文件中显示了正确的版本。我已尝试删除 png,但仍将其重新保存为旧版本。底部的轨迹图是不起作用的。

怎么了?如果您需要更多信息,请与我们联系

import numpy as np
import math
import pandas
import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'serif'
plt.rcParams["figure.figsize"] = (15,5)
plt.rcParams['figure.dpi'] = 200
plt.rcParams['savefig.dpi'] = 1200

'''extracting the data from the csv file'''
data = pandas.read_csv('Pilot data.csv')
np_data = data.to_numpy()
data_no = 27
R_e = 10 #the resistor added in series

phase = np.empty(data_no) 
freq = np.empty(data_no)
amp_0 = np.empty(data_no)
amp_1 = np.empty(data_no)

for i in range(data_no): # getting the data into seperate arrays
    for j in range(4):
        if j == 0:
            freq[i] = np_data[i][j]
        if j == 1:
            phase[i] = np_data[i][j]
        if j == 2:
            amp_0[i] = np_data[i][j]
        if j == 3:
            amp_1[i] = np_data[i][j]

'''working out the current and impeadance through the circut'''
current = amp_1 / 10
imp = amp_0 / current

'''finding the errors'''
def freq_err(freq_list):
    f = np.full_like(freq_list, 0.005)
    return f
v_err = 0.002441
phase_err = 0.1
current_err = v_err / 10
imp_err = np.sqrt(v_err**2 / amp_0**2 + current_err**2 / current**2)
real_err = np.sqrt((imp_err * np.cos(phase * np.pi / 180)) ** 2 + (phase_err * imp * np.cos(phase * np.pi / 180) * np.pi / 180 ) ** 2) 
imag_err = np.sqrt((imp_err * np.sin(phase * np.pi / 180)) ** 2 + (phase_err * imp * np.sin(phase * np.pi / 180) * np.pi / 180 ) ** 2)


'''plot current vs freq zoomed out'''
plt.errorbar(freq, imp, xerr=freq_err(freq), yerr=imp_err, fmt='o')
plt.title('Impeadance Vs Frequency', size=17)
plt.ylabel('Impeadance (Ω)', size=12)
plt.xlabel('Frequency (Hz)', size=12)
plt.savefig(fname='Pilot data.png')

'''working out values for locus plot'''
z_e = imp * (np.cos(phase * np.pi / 180) + 1j * np.sin(phase * np.pi / 180))
real = z_e.real
imag = z_e.imag

'''plotting locus plot'''
plt.errorbar(real, imag, xerr=real_err, yerr=imag_err, fmt='o')
plt.title('Real Vs Imaginary components of the Impedanace', size=17, family='serif')
plt.ylabel('Real (Ω)', size=12)
plt.xlabel('Imaginary (Ω)', size=12)
plt.savefig(fname='Pilot data locus plot.png')
4

0 回答 0