如何打印hexbin reduce\u函数的输出列表?

2024-04-26 14:04:02 发布

您现在位置:Python中文网/ 问答频道 /正文

我有六边形的二进制数据,用C=vel来按速度给代码着色。这很好,但是我想要一个计算出的标准偏差的列表和每个六角图中对象的数量的列表。我使用:

imageh=plt.hexbin(x,y,C=vel,extent[np.min(x),np.max(x),np.min(y),np.max(y)],alpha=0.7,gridsize=20,cmap=get_cmap("jet"),reduce_C_function=np.std,mincnt=5)
cbar=plt.colorbar(imageh,extend='max')

“reduce”函数=np.标准'给出了每个六边形中速度(vel)的标准偏差,这是我想要的,但我也希望它能将向量打印到屏幕上。坐标x和y可通过以下方式检索:

^{pr2}$

我想我可以用get_array和get_offset得到每个六边形中的项数:

counts=imageh.get_array() 
verts=imageh.get_offsets() 

但是我的get_offsets()创建了一个空向量,get_array()似乎返回了每个六边形的平均速度值。。。。我的速度值'vel'是5513个项目长,计数=imageh.get_数组()返回146个与我的速度范围相同的值。我再次运行它三次以确保在第三次尝试get_array()时返回了146个标准偏差范围内的值。如果这是真的,将解决部分问题。在

我想要的是速度的计算标准偏差。。。在图像的colorbar上使用的“reduce”函数的输出。我也只想知道在每个六边形中找到的数字。目标是获取每个六线形的每个标准偏差,除以该六线形中的点数并创建加权标准差。我可以通过运行以下命令,从原始图像中分别获得六角图中的点数:

imageh=plt.hexbin(x,y,extent[np.min(x),np.max(x),np.min(y),np.max(y)],alpha=0.7,gridsize=20,cmap=get_cmap("jet"),mincnt=5)

然后使用get_array()但我一直在想,肯定有一种方法可以从原始语句中获取每个hexbin中的项数?另外,作为一个额外的复杂度,如果你包括一个np平均值过滤速度(第一个例子)。。。。因此,直接从查询中选择每个hexagram中的数字是最好的。在


Tags: reduce列表getnppltminarray速度