Notebook 便签式仪表盘
StickyLand · CHI 2022
在 Jupyter 里把任意代码单元和图表「贴」在屏幕上,做成随时可见的仪表盘,打破笔记本只能从上往下读的限制。
交互实验(可直接投屏)
原作是一个完整的网页应用,下面直接嵌入;屏幕小或要投影时,点「全屏打开实验」更清楚。
动手三步
- 等左侧文件列表出现后,双击 example-adult.ipynb 打开示例笔记本(首次约 15 到 30 秒)
- 点笔记本工具栏最右边的便签图标(悬停提示「显示 / 隐藏 StickyLand 便签区」),右侧才会出现便签区;按住任一单元格左侧的编号(如 [25]:)把它拖进去,原来的位置会留下「•••」
- 打开便签头部的 auto-run 开关,回到主笔记本里修改并运行另一个单元格,便签才会自动重跑(只改代码不运行是不会变的)。前提是 Python 内核已经起来:先运行第一个单元格,出现数字编号而不是 [*] 才算可用
课堂怎么用
- 适合 Python 与数据分析实训课展示「笔记本还能这样用」:不启动内核也能拖动已保存好的图表,10 分钟演示够用
- 借单元格乱序的执行编号(屏幕上相邻的三格可能是 [24]、[9]、[10])讲清「笔记本不是从上往下执行的,执行顺序看编号」
- 学生实训优先用机房本地的 JupyterLab 装插件,或在本站新建一个不依赖外部数据的小笔记本;课前一定先在教室网络实测内核能不能起来
- 示例笔记本里种族、性别两张收入对比图建议跳过,原因见已知限制
思考题
- 便签里的内容是结果的截图,还是同一个单元格本身?把它拖回去会怎样?
- 打开 auto-run 之后,只改代码不运行,便签会变吗?什么时候才会重跑?
已知限制
- JupyterLab 自身界面文字较多,部分菜单保留英文;便签区的提示与 auto-run 开关也是英文
- 首次启动 Python 内核要下载几十 MB,失败时单元格会一直显示 [*],页面不给任何提示
- 示例笔记本是英文的,用的是 1994 年美国人口普查收入数据(UCI Adult),里面逐一画出种族、性别、婚姻状况与「收入是否超过 5 万美元」的对比直方图。直接投屏容易引出刻板印象,建议跳过种族、性别两张图;如要讲,先说明这是 30 年前的美国抽样数据,常被用来讨论数据里的偏差从哪来,不代表任何群体的能力
- 示例的第二个单元格从境外第三方网站读 census.csv,本站没有镜像这份数据
- 手机上 JupyterLab 界面横向溢出,必须用电脑
原作 StickyLand(Zijie J. Wang, Katie Dai, W. Keith Edwards(佐治亚理工),CHI 2022),BSD-3-Clause 许可(原文),界面已中文化。