PlotSet LogoPlotSet

How to Create a Calendar Heatmap

A step by step walkthrough for turning a sheet of dates and daily values into a published calendar heatmap in PlotSet, with one shaded square for every day.

约 6 分钟

One square for each day, laid out in calendar weeks and shaded by how much happened: that is what you will have. Busy weekdays, quiet weekends, seasonal swells and long gaps all show up at a glance.

Expect about six minutes. The template needs just two columns, so most of the time goes on choosing a colour theme and checking the scale.

你需要的数据

One row per day with two columns: a date, and the number for that day.

示例 CSV
DateCommits
2024-01-018
2024-01-026
2024-01-039
2024-01-046
2024-01-0512
备注

Use one row per day. Days you leave out are drawn in the no-data colour.

ISO dates, such as 2024-01-05, are the safest. Anything the platform's date parser accepts will work.

The grid spans every year present in your data, with one band per year.

A day with a value of zero is not the same as a missing day. Keep zeros if they are real readings.

操作步骤

PlotSet 中从空白模板到完成图表的具体点击路径。

  1. 01

    Open the Calendar Heatmap template

    From the PlotSet dashboard, start a new project and choose Calendar Heatmap from the Heatmaps category. It loads with two years of sample commits so you can see the layout straight away.

    PlotSet 的模板选择界面:左侧是图表分类列表,中间展开 Bar Charts 分类的模板网格,Bar Chart 模板卡片上显示「Select」按钮。
    每份指南都从这里开始:先选分类,再选模板,不管你要做哪种图表,用的都是同一个网格。
  2. 02

    Prepare your daily data

    Put the date in the first column and the number in the second, one row per day. Remove any blank or text rows from the number column.

  3. 03

    Upload the file, or connect it live

    Import a CSV or .xlsx file from the data panel, paste rows from a spreadsheet, or connect a Google Sheet so the chart can follow your updates. The first row is read as the headers.

    PlotSet 编辑器的数据视图:表格中 Name、Value、Region 三列填着加拿大各省的数据,旁边的「Data」面板提供 CSV 上传、「Magic Import」和 Google Sheet 同步。
    这里的数据视图取自一个条形图项目。你可以上传 CSV、用「Magic Import」从图片里提取数字,或同步 Google Sheet,每种图表类型的面板都一样。
  4. 04

    Check the column bindings

    Confirm that the date column is bound to dates and the other column to values. This is usually right automatically when the headers are clear.

    PlotSet 数据面板中高亮的列绑定:「Label/time」对应 A 列,「Values」对应 B 列,「Filter/color」对应 C 列,下方是「Auto Binding」按钮。
    绑定决定哪一列作标签、哪一列提供数值、哪一列决定颜色。「Auto Binding」(自动绑定)会根据表头推测,所以要核对一遍,别想当然。
  5. 05

    Choose a colour theme

    In the Color tab pick a theme for the scale, and set the colour for days with no data. Keep the no-data colour clearly different from the palest shade of the scale.

    PlotSet 编辑器停在「Preview」标签页:画布上是做好的 Calendar Heatmap,右侧的设置面板用红框标出。
    Calendar Heatmap 的「Preview」标签页。所有样式设置都在红框标出的这个面板里,每个设置各自占一个标签页:外观、标题、脚注,以及这种图表类型特有的选项。
  6. 06

    Tune the cells and labels

    In the Cells tab set the square size, corner radius and gap. In the Labels tab show or hide the month, weekday and year labels.

  7. 07

    Set the colour scale

    Leave the Scale tab on automatic, or enter a minimum and maximum so a single extreme day does not wash out the rest.

  8. 08

    Add the legend, title and source

    Style the legend ramp, then use the Header and Footer tabs for a title, a subtitle and a source line.

  9. 09

    Publish or export

    Publish for a live chart and copy the embed code from the Share dialog, or use Export for a PNG or SVG.

    PlotSet 编辑器工具栏中高亮的「Share」按钮,紧挨着「Export」按钮。
    点「Share」,完成的图表就会变成一个公开链接和一段嵌入代码。

从已加载示例数据的 Calendar Heatmap 模板开始,再替换成你自己的数据。

打开模板

发布、嵌入或导出

最后一段路对每种图表都一样:「Share」(分享)把图表变成一个在线的公开链接和一段嵌入代码,「Export」(导出)把它输出成静态文件。

Share:公开链接与嵌入代码

打开嵌入代码和公开链接的开关,图表就发布出去了。链接可以放心发给任何人;嵌入代码以 iframe 的形式放进任意页面,悬停提示和交互效果都会保留。之后修改了图表,点「Recreate」就能把改动同步到链接和嵌入代码两边。

PlotSet 编辑器工具栏中高亮的「Share」按钮,紧挨着「Export」按钮。
点「Share」,完成的图表就会变成一个公开链接和一段嵌入代码。
PlotSet 的「Share」对话框:用于启用嵌入代码和公开链接的开关,「Link」「Embed」「Facebook」「Reddit」「Twitter」「LinkedIn」「Email」几个按钮,以及带「Copy」按钮的图表公开链接。
打开嵌入代码和公开链接的开关,然后复制链接或取用 iframe。之后再修改图表,点「Recreate」就能把改动同步给所有已拿到链接的人。

Export:SVG、PNG 或 JPG

「Export」会按你需要的尺寸输出一份静态副本。SVG 放到多大都清晰,还能在设计工具里继续编辑;幻灯片和文档用 PNG 或 JPG 最稳妥。想让图片在高分屏上够锐利,关键就是那个倍数设置。

PlotSet 编辑器工具栏中高亮的「Export」按钮。
要做成幻灯片或报告里的静态文件,就走「Export」这条路。
PlotSet 的「Export chart」对话框:倍数选择器设为 2x,宽高输入框填的是 1000 和 600,展开的格式菜单里列出 SVG、PNG 和 JPG。
SVG 放到多大都清晰,还能在设计工具里继续编辑;做幻灯片用 PNG 或 JPG 最稳妥。导出前先设好倍数,图片在高分屏上才够锐利。

Calendar Heatmap 的样式提示

Start with a single year

One year gives the largest squares and the clearest reading of the weekly rhythm.

Cap the scale

If one day dwarfs the rest, set a custom maximum and say so in the footer.

Keep real zeros

A quiet day is a fact. Only leave a day out when you truly have no reading.

Use the tooltip

Hovering a square shows its date and value, so you do not need to print numbers on every cell.

制作 Calendar Heatmap 时的常见错误

The grid is empty

Dates probably failed to parse. Use ISO dates and check the date column is bound correctly.

Everything looks the same shade

An outlier is stretching the scale. Set a custom maximum in the Scale tab.

The squares are tiny

Too many years are crowding the grid. Trim the data to the span you need.

Missing days look like low days

Make the no-data colour clearly different from the low end of the scale.

深入了解 Calendar Heatmap

不确定 Calendar Heatmap 是否是正确选择?查看它是什么、何时使用以及何时不使用。

关于 Calendar Heatmap

Calendar Heatmap:常见问题

A date column and a numeric value column, with one row per day.

现在制作你的 Calendar Heatmap

免费开始,300+ 模板任选。无需信用卡。