数据科学

用几行 Python 代码构建一个完全交互式的仪表板

继续改进我们的 GPU 交叉过滤器仪表板库 cuxfilter 的用户体验和功能。下面简要介绍一下它的最新功能。

首先,访问 cuxfilter 与以往一样简单。只需运行一个标准的 RAPIDS 安装,如 入门页 中所示。此外,您可以在 PaperSpace 在线试用。一个完整的 RAPIDS 安装的强大优势之一就是你可以在一个 jupyter 笔记本或实验室实例中处理你的数据并将其可视化。

图 1 :使用 cuxfilter 在几行 Python 中构建一个完整的交互式仪表板。

以下是一些主要功能亮点的列表:

  • 通过数据阴影的高密度散点图、线图、热图和图表。此外, Deck . gl 中的 choropeth 地图,以及 bokeh 中的条形图和折线图。
  • 一个完全响应的, 可自定义布局 ,带有小部件侧面板。
  • Themes ,如前面所示的黑暗面。
  • 一个使用 await d.preview()预览功能 ,它生成一个与笔记本内联的完整仪表板的. png 图像。
  • 使用 d.export() 调用在活动仪表板中执行 导出所选数据 的功能。
  • 能够作为一个独立的应用程序(在笔记本之外)进行部署,如我们的 部署多用户仪表板 文档所述。

您可以在我们的 教程笔记本, 中尝试所有这些和更多功能,并在我们的 教程视频 中继续使用。图 2 所示的屏幕截图是创建的仪表板之一。这是一个引人注目的例子,演示了如何将 RAPIDS 库组合在一起,只需几行 python 就可以快速创建强大的可交叉过滤的仪表盘。

图 2 :下面的双图仪表板截图

 

# Dashboard
# Full example from https://github.com/rapidsai-community/showcase/tree/main/team_contributions/cuxfilter-tutorial
# Data
cux_df = cuxfilter.DataFrame.load_graph((final_df, edges))
# Charts
chart1 = cuxfilter.charts.graph(
edge_source='src', edge_target='dst',
edge_color_palette=['gray', 'black'],
ode_pixel_shade_type='linear',
edge_render_type='curved', #curved, direct
edge_transparency=0.6, #0.1 - 0.9
title='ForceAtlas2 Graph'
)
chart2 = cuxfilter.charts.scatter(
x='x_original', y='y_original',
tile_provider='CARTODBPOSITRON',
point_size=4,
pixel_shade_type='linear',
pixel_spread='spread',
title='Scatter Layout'
)
chart3 = cuxfilter.charts.bar('hour', title='Trips per hour')
chart4 = cuxfilter.charts.bar('from_station_id', title='Source station')
chart5 = cuxfilter.charts.bar('to_station_id', title='Destination station')
# Widgets
widget1 = cuxfilter.charts.multi_select('year')
widget2 = cuxfilter.charts.multi_select('day_type', label_map={0:'weekday', 1:'weekend', '':'all'})
# Layout Grid
layout_array_3rds = [[1,1,2],[1,1,2],[3,4,5]]
# Generate Dashboard
d = cux_df.dashboard([chart1, chart2, chart3, chart4, chart5],
sidebar=[widget1, widget2],
layout_array = layout_array_3rds,
theme=cuxfilter.themes.rapids,
title="Network and Geospatial Graph")
# Show
d.show()

今后,我们将继续改进 cuxfilter ,并使用它与庞大的 pythonviz 社区协作,例如 Holoviews面板数据阴影 项目。我们鼓励您尝试一下,并且一如既往,如果您对功能请求有任何问题, 让我们知道我们的 GitHub 。快乐的交叉过滤!

资源:

Tags