plt.savefig正在保存情节的旧版本

问题描述

我正在尝试将图形另存为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')

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...