Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vue.js/6.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 如何使用信号图在同一图形中绘制子区间的信号统计(方差)?_Python_Matplotlib_Plot - Fatal编程技术网

Python 如何使用信号图在同一图形中绘制子区间的信号统计(方差)?

Python 如何使用信号图在同一图形中绘制子区间的信号统计(方差)?,python,matplotlib,plot,Python,Matplotlib,Plot,我计算了信号子区间的方差。结果是一个向量,我想在下面的信号相同的图表中绘制。如何绘制每个子区间的方差?我应该使用哪种类型的绘图?直方图或箱线图?如果要在给定间隔内用std的条形图覆盖时间序列,只需通过指定条形图的位置将其绘制在同一图形中即可。在这里,它是区间的中心,你可以通过多种方式获得,甚至手动。然后,你可以设置酒吧的宽度,以任何你喜欢的眼睛,但在我看来,它看起来不错,如果它有大约相同的宽度间隔。下面是matplotlib中的一个示例。但是,轴可能不对应(即,std的刻度可能与信号的刻度不匹配

我计算了信号子区间的方差。结果是一个向量,我想在下面的信号相同的图表中绘制。如何绘制每个子区间的方差?我应该使用哪种类型的绘图?直方图或箱线图?

如果要在给定间隔内用std的条形图覆盖时间序列,只需通过指定条形图的位置将其绘制在同一图形中即可。在这里,它是区间的中心,你可以通过多种方式获得,甚至手动。然后,你可以设置酒吧的宽度,以任何你喜欢的眼睛,但在我看来,它看起来不错,如果它有大约相同的宽度间隔。下面是
matplotlib
中的一个示例。但是,轴可能不对应(即,std的刻度可能与信号的刻度不匹配)。因此,我建议使用两个轴

将numpy导入为np
将matplotlib.pyplot作为plt导入
#创建数据
n=100
n_段=5
y=np.random.randint(100,大小=n)
std=np.std(y.重塑(n_段,-1),轴=1)
#得到中点
x=np.linspace(n//(2*n_段)、n-n//(2*n_段)、n_段)
#索拉
plt.绘图(范围(n),y)
plt.bar(x,STD,宽度=n//(n_段)-1,α=0.4)
#双轴溶胶B
图,ax1=plt.子批次()
ax2=ax1.twinx()
ax1.绘图(范围(n),y,'g-')
ax2.bar(x,标准差,宽度=n//(n_段)-1,α=0.4)

嗨,你的问题把我弄糊涂了。首先,什么是子区间?但更重要的是,你想做什么?你从一条简单的线开始——在你的平均值周围加上std表示。为此,只需使用matplotlib。但是你会问如何绘制你的性病图,并提到直方图和箱线图,这对于第一部分完全没有意义。要么你想显示平均值的误差,要么显示这些误差的分布。我有一组7860个值,我把它们分成20个相等的区间。对于每一个,我都计算了具有该值的方差([0.06057497068018203,0.2921903202797406,0.26130194652200645,0.6572348814173657,0.21491131550763803,0.5220988449198373,0.032965663897601985,0.052615659968686896,0.6022333139843596,0.17343183929030717])我想把它和原始信号画在同一张图上,以显示我的信号是如何变化的。问题是,我在x轴上有7680个样本用于原始信号,在y轴上是信号值。当我尝试绘制方差时,我有一个错误:ValueError:x和y必须具有相同的第一维度,但具有形状(20,)和(7680,)。这并不奇怪:D,好吧,我开始理解了。让我澄清一下。您希望使用一些条形图/历史图覆盖此时间序列,这些条形图/历史图将显示给定间隔内的方差。也就是说,不是均值的方差,而是区间的方差。没错!我的信号代表一个人的呼吸频率,我想计算它从一个时间间隔到另一个时间间隔的变化,并在图表上表示出来。非常感谢,它现在起作用了。你知道a应该用什么来绘制趋势线吗?我用polyfit计算了趋势,我想在我的图表中画一个箭头,根据使用polyfit获得的斜率值,建议每个区间的趋势是增加还是减少(如果结果向量中的第一个值为正,则趋势增加,反之亦然).你应该问一个单独的问题。这与这个问题无关,在评论中问后续问题不是一个好的做法。我11天前在另一篇帖子中已经问过了:)