跳到工具
ViewCSV
无需上传文件

用 CSV 生成动态图表视频

quarterly-revenue-example.csv· 示例数据48 行 · 4 列
表格结构
每个时间段的每个对象占一行:一列时间、一列名称、一列数值。
预览1,280 × 720 像素
时间轴
0 / 12 秒

当前:2024-Q1

正在检测此浏览器能生成哪些视频格式…

本帧数值(6 个对象)
2024-Q1 的数值
region值
广州76.3
成都53.3
北京52
上海39.7
杭州33.9
深圳26.1

48 行 → 8 个时间段 × 6 个对象,使用了 48 个数字,0 个时间段/对象单元格为空。

要把 CSV 做成视频,先打开一个包含时间列(年份、月份、日期或季度)的文件,选择对象列和数值列,再选一种动画(例如动态排名条形图),然后点击“生成视频”。视频在你的浏览器中绘制和编码:浏览器支持时可下载 MP4 或 WebM,否则可下载 GIF 动图,任意一帧也能存为 PNG。缺失值默认留空;同一时间段和对象重复出现的行,必须按你选择的规则合并。CSV 文件不会上传,也不会被修改。

如何用 CSV 文件制作视频

  1. 打开、拖入或粘贴 CSV 文件,也可以直接沿用在其他 ViewCSV 工具中打开的文件。示例数据是一份虚构的季度收入表。
  2. 在 数据 中选择表格结构:长表包含时间列、对象列和数值列;宽表则是每个系列占一列。
  3. 在 内容与样式 中选择动画类型和配色风格,填写主标题、来源说明和单位,还可以添加 Logo 或背景图。
  4. 在 视频 中选择画面比例(16:9、1:1 或 9:16)、分辨率、时长和帧率,以及起始和结束时间段。
  5. 拖动时间轴或逐个时间段查看画面,确认无误后选择下载格式,点击 生成视频。

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 的条形。

CSV
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 编辑器 中修正这些单元格。

标准与参考资料