Python—如何添加“Python”;“胡须”;点图?
问题Python—如何添加“Python”;“胡须”;点图?,python,matplotlib,standard-deviation,Python,Matplotlib,Standard Deviation,问题 import numpy as np import matplotlib.pyplot as plt %matplotlib inline #Generate some data x = np.empty((7,9)) for i in range(7): x[i,:] = np.arange(1,10,(1+(i*.02))) print x #Find standard devs down each column std = np.std(x,axis=0)*5 print
import numpy as np
import matplotlib.pyplot as plt
%matplotlib inline
#Generate some data
x = np.empty((7,9))
for i in range(7):
x[i,:] = np.arange(1,10,(1+(i*.02)))
print x
#Find standard devs down each column
std = np.std(x,axis=0)*5
print std
#Get the mean of x data down each column
xmean = np.mean(x,axis=0)
print xmean
#Plot xmean data & x's stan. devs
legendlabels = ['Mean of members','S.D. of members']
time = np.arange(0,9)
fig, ax = plt.subplots(figsize=(11,6))
data1 = ax.scatter(time,xmean,s=70,color='k',marker='^')
data2 = ax.scatter(time,std, s=70,color='k')
ax.legend([data1,data2],legendlabels,loc=2)
ax.grid()
plt.show()
我用导入的数据绘制了一个点图。一组数据显示了数据集各个成员的平均值时间序列,另一组显示了采用平均值之前,这些成员在每个时间步的标准偏差(SD)。我的顾问希望我在代表平均值的点上添加显示+/-1 SD的“胡须”。下面我将提供一个简化的工作示例
代码(示例)
SD乘以5,所以当添加时,胡须实际上是可见的。结果应该是这样的。
问题
如何将胡须添加到表示+/-1对应SD的三角形(下面圆圈的值)?鉴于我的实际数据没有显示沿y方向的范围,我不认为方框图最适合于此…您可以添加错误条,包括:
ax.errorbar(time, xmean, yerr=std)
如果yerr
是一个大小为time
的1D数组,则相对于数据(xmean
)在+/-yerr
处绘制错误条():
如果是标量数、len(N)数组类对象或Nx1
类似于数组的对象,错误条以+/-相对值绘制
对数据进行修改
对于您的代码,这将导致:
有关更多信息,请参见以下示例:您可以使用以下选项添加错误条:
ax.errorbar(time, xmean, yerr=std)
如果yerr
是一个大小为time
的1D数组,则相对于数据(xmean
)在+/-yerr
处绘制错误条():
如果是标量数、len(N)数组类对象或Nx1
类似于数组的对象,错误条以+/-相对值绘制
对数据进行修改
对于您的代码,这将导致:
有关更多信息,请参见以下示例: