开发一个应用程序,有时当我进行查询时,我会在结果中获得数百万或 100 万条记录。
我的问题是,当我得到这些巨大的结果集时,我如何可视化(在条形图、雷达图、折线图等图表中)这些数据?
我是否只是抽取数据样本并将其可视化?我只是去绘制百万条记录吗?解决此问题的最佳方法是什么?
开发一个应用程序,有时当我进行查询时,我会在结果中获得数百万或 100 万条记录。
我的问题是,当我得到这些巨大的结果集时,我如何可视化(在条形图、雷达图、折线图等图表中)这些数据?
我是否只是抽取数据样本并将其可视化?我只是去绘制百万条记录吗?解决此问题的最佳方法是什么?
Holoviews 可视化库可以处理非常大的数据http://holoviews.org/ http://holoviews.org/user_guide/Large_Data.html
通过直方图、饼图、圆环图、树状图、面积图、条形图、等值线(等等 - 等等)绘制数百万个条目不会构成任何挑战。如果您要使用散点图/小提琴图,或者将其可视化为非常大的图表,您只会发现它非常缓慢和烦人。
采样是一个非常好的选择,尤其是当您的数据大小阻碍了您用来绘制它的工具时。
如果这不是问题,一个常见问题是绘制不透明标记会显示数据所在的位置,但会掩盖密度信息。例如,假设绘图区域的每个像素都与至少一个观察相关联(即您有一个统一颜色的图),但一个像素实际上与 99% 的数据相关联。对于这种情况,一个很好的技术是尝试可视化数据的密度。一种简单的方法是为您的标记添加透明度(通常通过调整“alpha”参数),或者您可以使用分箱(例如直方图或六角网格)或使用核密度估计更直接地对密度进行建模。
如果您有离散数据,则过度绘图可能是一个问题,但密度可能会给您带来奇怪的结果。解决此问题的一个好方法是通过向一个或多个绘图维度添加噪声来“抖动”您的数据,以迫使您的数据分散得更多。
如果你有时间序列数据,你可以重新采样到更粗略的分辨率:例如,如果你有一个每毫秒的数据点,如果你按小时、天或周聚合,你的数据可能更容易可视化。
同样,您可以通过绘制模型来汇总数据。绘制 vs而不是 vs并添加一些误差带以进行良好的测量。
所有这一切:只需尝试先绘制它,看看会发生什么。您的可视化工具可能会在后台做一些事情,以使至少一些手动工作变得不必要。