要把 CSV 做成视频,先打开一个包含时间列(年份、月份、日期或季度)的文件,选择对象列和数值列,再选一种动画(例如动态排名条形图),然后点击“生成视频”。视频在你的浏览器中绘制和编码:浏览器支持时可下载 MP4 或 WebM,否则可下载 GIF 动图,任意一帧也能存为 PNG。缺失值默认留空;同一时间段和对象重复出现的行,必须按你选择的规则合并。CSV 文件不会上传,也不会被修改。
如何用 CSV 文件制作视频
- 打开、拖入或粘贴 CSV 文件,也可以直接沿用在其他 ViewCSV 工具中打开的文件。示例数据是一份虚构的季度收入表。
- 在 数据 中选择表格结构:长表包含时间列、对象列和数值列;宽表则是每个系列占一列。
- 在 内容与样式 中选择动画类型和配色风格,填写主标题、来源说明和单位,还可以添加 Logo 或背景图。
- 在 视频 中选择画面比例(16:9、1:1 或 9:16)、分辨率、时长和帧率,以及起始和结束时间段。
- 拖动时间轴或逐个时间段查看画面,确认无误后选择下载格式,点击 生成视频。
10 种动画类型
| 动态排名条形图 | 横向条形随排名变化而伸缩、交换位置,也就是常说的“条形图竞赛”。负值向 0 的左侧延伸。 |
|---|---|
| 动态折线图 | 每个对象一条线,在固定的坐标轴上逐个时间段画出,已画出的数值不会移动。 |
| 占比环形图 | 每个对象在该时间段全部对象合计中所占的比例;超出显示数量的对象合并为“其他”。 |
| KPI 指标卡 | 最多 6 张卡片,显示当前值和相对上一时间段的百分比变化。 |
| 目标完成进度 | 实际值对比统一目标或目标列,显示完成率,超过 100% 时如实显示。 |
| 时间热力图 | 对象 × 时间段的网格,填充到当前时间段为止。缺失的单元格默认保持空白,也可以按你选择的缺失值处理方式(沿用上一个值或按 0)填充。 |
| 气泡图 | 纵轴为数值列,横轴取第二列,气泡面积取第三列。 |
| 瀑布图 | 按文件顺序累加正负贡献,最终得到净额,例如利润桥图。 |
| 占比变化图 | 每个时间段一根 100% 堆积条,便于同时比较多个时间段的构成变化。 |
| 3D 柱形图 | 立体光照场景中的柱子,可开启镜头缓慢环绕。需要支持 WebGL 2。 |
准备时间序列数据:时间段、重复行和缺失值
- 时间段顺序。 自动顺序会对整个时间列统一判断一次:所有时间段都是数字时按数值排序;否则,如果所有时间段都是
2024、2024-03、2024-03-31或2024-Q1这样的日期,则按日期排序;否则全部按自然文本顺序排列,所以week 10排在week 9之后。数字、日期和文本混杂的列不会逐个单元格按类型分别排序。也可以保持文件中的顺序。按日期排序时,2023-02-29这类不存在的日期会被拒绝。 - 重复行。 如果同一时间段和对象出现不止一次,视频会停止生成,并告诉你有多少组重复。你可以选择求和、取平均值、取最小值、取最大值或取最后一行;工具不会悄悄合并任何数据。
- 缺失值。 默认情况下,缺失的时间段保持空白:该时间段没有对应的条形或线段。你也可以改为沿用上一个已知值或按 0 显示,视频的状态说明会注明这一点。数值不会向前回填。
- 指数和增长率。 指数以每个对象的第一个非零值为 100 进行换算;从负值开始的系列没有有意义的指数,会留空。增长率是每个时间段与紧邻的上一时间段相比;上一时间段为空或为 0 时留空。
标签按原始写法使用:North 和 North 是两个不同的对象。CSV 文件本身不会被修改。
数字如何读取和显示
只有整个单元格都是普通数字时才会使用,例如 1200、-4.5 或 3e5,并且小数点要与你的设置一致。带单位、货币符号或千分位分隔符的单元格(1,200),以及双精度无法如实保存的数字,都会被跳过并在提示中计数,绝不会画成 0。
两个时间段之间的动画是两个实际数值的线性插值,状态说明会标明正在哪两个时间段之间过渡。过渡帧不是数据。数值表列出的正是当前这一帧显示的数值;结合状态说明,你可以知道这一帧是实际的时间段、两个时间段之间的过渡,还是包含按缺失值处理方式填充的数值。视频中的数字使用你的语言格式和所选的小数位数,占比和完成率以百分比显示。如果计算结果大到无法可靠绘制,工具会直接提示,而不是画出错误的图表。
下载视频、GIF 动图和 PNG
| MP4 和 WebM | 只有当前浏览器能生成时才会提供。支持 WebCodecs 时,按精确时间逐帧编码,因此在任何设备上视频都很流畅;否则浏览器会实时录制动画,期间标签页必须保持在前台。 |
|---|---|
| GIF 动图 | 每秒 10 帧,长边 640 像素,最长 30 秒。 |
| PNG | 时间轴当前位置的画面,尺寸与视频相同。 |
| 尺寸 | 16:9、1:1 或 9:16,720p 或 1080p,时长 2 到 60 秒,帧率 24、30 或 60。单个下载文件最大 64 MB。 |
视频没有声音。开头和结尾会停留在第一个和最后一个时间段,方便观众看清。修改数据或设置、离开页面,都会停止正在进行的导出,所以不会保存过时的文件。
限制与隐私
一段视频最多可显示 500 个时间段、200 个对象和 10 万个时间段 × 对象单元格,适用于 25 MB、10 万行或 200 万个单元格以内的文件。文件更大时,请先 筛选行 或 用数据透视表汇总。如果只需要静态图表,请使用 CSV 生成图表。
所有内容(包括 Logo 和背景图)都保留在你的浏览器标签页中,文件和视频都不会上传。
示例:把各地区收入做成动态排名条形图
一份长表,每个季度的每个地区占一行。时间列选 quarter、对象列选 region、数值列选 revenue 后,每一帧显示三根条形。West 在 2024-Q2 的数值缺失,保持空白:该时间段没有 West 的条形。
quarter,region,revenue 2024-Q1,North,52 2024-Q1,South,33 2024-Q1,West,69 2024-Q2,North,64 2024-Q2,South,54 2024-Q3,North,76 2024-Q3,South,75 2024-Q3,West,77
{
"periods": ["2024-Q1", "2024-Q2", "2024-Q3"],
"series": {
"North": [52, 64, 76],
"South": [33, 54, 75],
"West": [69, null, 77]
},
"missing": 1
}常见问题
为什么不能选择 MP4?
不是所有浏览器都能生成 MP4 文件。格式列表只显示当前浏览器真正能编码的格式;GIF 和 PNG 始终可用。如需 MP4,请使用最新版 Chrome、Edge 或 Safari。
我的数据是每个国家一列,可以用吗?
可以。选择宽表,勾选要做成动画的列;每一列成为一个系列,名称取自列标题。
为什么某些时间段缺了一根条形?
该对象在这个时间段没有普通数字,所以留空。如果适合你的数据,可以在“缺失值”中选择“沿用上一个已知值”或“按 0 显示”,也可以在 CSV 编辑器 中修正这些单元格。