在 Matplotlib 线图上的标准差之间填充

Rex*_*ald 3 python matplotlib line-plot seaborn

我有一个线图,它绘制了从 Excel 文件加载的 2 列数据。请参阅绘图: Matplotlib 线图

我想使用函数之间的填充或类似的东西(如图像 2)来显示图中每行(即数据列)的标准差,但是我不知道如何包含它。任何帮助都会很棒。请注意,我对此很陌生...... 我希望我的情节看起来如何

这是我的线图使用的代码:

import pandas as pd
import scipy as sp
from scipy import stats
import numpy as np
import matplotlib.pyplot as plt

Probability_fast_gamma_on_theta = pd.read_excel(r'C:\Users\RL\Excel work\Probability_of_a_theta_cycle_containing_fast_gamma.xlsx')

fig5, ax5=plt.subplots()
plt.plot(Probability_fast_gamma_on_theta.MIA)
plt.plot(Probability_fast_gamma_on_theta.CTL)

plt.grid(False)
plt.ylim(0.0, 0.6)
plt.xlim(0.0, 25)
plt.legend(['MIA', 'CTL'], loc='lower right')

plt.show()
Run Code Online (Sandbox Code Playgroud)

小智 6

使用该函数可以直接完成此plt.fill_between()操作。一个最小的例子如下:

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x = np.linspace(0, 2 * np.pi, 50)
y = np.sin(x) + np.random.randn(len(x)) * 0.03

yerr0 = y - (0.1 + np.random.randn(len(x)) * 0.03)
yerr1 = y + (0.1 + np.random.randn(len(x)) * 0.03)

ax.plot(x, y, color='C0')
plt.fill_between(x, yerr0, yerr1, color='C0', alpha=0.5)
Run Code Online (Sandbox Code Playgroud)