Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/352.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 如何在运行for循环后使绘图每次都显示,而不让线堆积起来_Python_Matplotlib_Plot_Autocorrelation - Fatal编程技术网

Python 如何在运行for循环后使绘图每次都显示,而不让线堆积起来

Python 如何在运行for循环后使绘图每次都显示,而不让线堆积起来,python,matplotlib,plot,autocorrelation,Python,Matplotlib,Plot,Autocorrelation,我试图显示4个自相关图,每列1个数据帧的值。我使用for循环使它显示4次。但结果是,自相关图仅显示一次(4行),而不是显示4次(每个图仅显示1行)。 我的代码如下: (忽略正在导入但未使用的库) 运行脚本得到的结果是 由于for循环,已绘制了4行,每个值名称1行。理想的结果是每1行有4个单独的图。在其他使用普通绘图的脚本中,我在for循环中使用了plt.plot.show()。这将产生4个图,其中只有一条线。对于自相关图,我是如何做到这一点的 我遵循这个时间序列分析指南,我的脚本基于第14章:

我试图显示4个自相关图,每列1个数据帧的值。我使用for循环使它显示4次。但结果是,自相关图仅显示一次(4行),而不是显示4次(每个图仅显示1行)。 我的代码如下: (忽略正在导入但未使用的库)

运行脚本得到的结果是

由于for循环,已绘制了4行,每个值名称1行。理想的结果是每1行有4个单独的图。在其他使用普通绘图的脚本中,我在for循环中使用了plt.plot.show()。这将产生4个图,其中只有一条线。对于自相关图,我是如何做到这一点的

我遵循这个时间序列分析指南,我的脚本基于第14章:如何测试季节性的脚本

这是另一张带有所需绘图的图片。为了得到这个图,我只循环了for循环1次,结果只有一行是值名Europe。看


解决了这个问题,在for循环的末尾添加了
plt.show()
,而不是
plt.plot.show()

什么是****lol。我想我试过了,它说它不起作用,因为它是一个自相关图。我现在添加了plt.show(),它确实有效。谢谢你,你已经解决了我的问题@ombk
from dateutil.parser import parse
import matplotlib as mpl
import matplotlib.pyplot as plt
import seaborn as sns
import numpy as np
import pandas as pd
plt.rcParams.update({'figure.figsize': (5, 3), 'figure.dpi': 120}
from statsmodels.tsa.seasonal import seasonal_decompose
from dateutil.parser import parse
from scipy import signal
from pandas.plotting import autocorrelation_plot

# Import Data
ser = pd.read_csv('Time series analysis dataset Weekly.csv', parse_dates=['Date'], index_col='Date')
ser = ser[ser.YearOfDate != 2020]

ValueNames = ['Europe', 'Total', 'International', 'Distributor']
ColorsList = ['Blue','Green','Orange','Purple','Brown']

# Draw Plot
plt.rcParams.update({'figure.figsize':(7,4), 'figure.dpi':120})
for ValueRound in range(0,len(ValueNames)):
   autocorrelation_plot(ser[f'{ValueNames[ValueRound]}'].tolist())