如何更改 vaex 交互式 Jupyter bqplotplot_widget 中的点样式以使各个点更大且可见?

2024-06-10

我正在评估 vaex 的交互式异常值选择用例,如下所述:大图:约 2000 万个样本,千兆字节的数据 https://stackoverflow.com/questions/5854515/large-plot-20-million-samples-gigabytes-of-data/55967461#55967461

基本上,我有一些异常值的单独点,我想在图表上看到它们以手动选择它们并进一步检查它们。

问题是,如果数据集的其余部分太大,单个点就会变得不可见。

如何使这些单独的点可见?

例如,如果我生成一个包含 10 亿个点且中心顶部有一个异常值的数据集:

import h5py
import numpy

size = 1000000000

with h5py.File('1b.hdf5', 'w') as f:
    x = numpy.arange(size + 1)
    x[size] =  size / 2
    f.create_dataset('x', data=x, dtype='int64')
    y = numpy.arange(size + 1) * 2
    y[size] =  3 * size / 2
    f.create_dataset('y', data=y, dtype='int64')
    z = numpy.arange(size + 1) * 4
    z[size] = -1
    f.create_dataset('z', data=z, dtype='int64')

然后将其显示在 Jupyter 笔记本上:

import vaex
df = vaex.open('1b.hdf5')
df.plot_widget(df.x, df.y, backend='bqplot')

我在 Jupyter 上得到了这个:

所以我看不到应该位于中心顶部的异常值。

但是我可以选择它,因为我知道它在哪里,并且它确实显示在selection=True方法。它只是没有被显示。

有一些例子:https://vaex.readthedocs.io/en/latest/tutorial.html#Smaller-datasets-/-scatter-plot https://vaex.readthedocs.io/en/latest/tutorial.html#Smaller-datasets-/-scatter-plot看起来很明显,但我尝试添加额外的参数c="red", alpha=0.5, s=4 to plot_widget它不起作用,大概这个后端不支持它们。

也许有一种配置方法bqplot改变它的绘图风格?

在 vaex 2.0.2 上测试。


这可能是小部件的布局问题。看看顶部,我发现它似乎被剪掉了。但是,如果缩小,您应该能够看到它。

假设您这样做了,您可能不会看到太多,因为 vaex 的plot_widget 不会绘制符号(否则它将无法显示 10 亿个点),它会显示热图。

如果您想查看低密度区域,您可能希望以日志形式显示(通过 f='log',或打开左侧的抽屉并选择它)。如果在log中显示,则空的区域为-inf,显示为透明。因此,您现在应该能够更轻松地看到“异常像素”,特别是如果您降低分辨率(通道形状=128)。

有了这两个选项:

df.plot_widget(df.x, df.y, f='log', shape=128, backend='bqplot')

输出如下所示:

并且离群点在中心顶部变得清晰可见。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何更改 vaex 交互式 Jupyter bqplotplot_widget 中的点样式以使各个点更大且可见? 的相关文章

随机推荐