PlotSet LogoPlotSet

How to Create a Heatmap

A step by step walkthrough for turning a row, column and value sheet into a published heatmap in PlotSet, from shaping the data to picking a colour scale that doesn't lie.

约 8 分钟

Rows and columns you chose, a colour scale that actually matches your data, a chart either embedded on a page or exported as an image: that's what you'll have after this guide on how to create a heatmap in PlotSet, built from your own grid rather than someone else's correlation matrix with your name on it, taken through the same click path a real PlotSet chart takes from upload to publish.

If your data is already three columns, row, column and value, this takes about eight minutes, most of it spent getting the colour scale right rather than the upload itself. Add another five if you're pivoting a wide table (weekdays across the top, hours down the side) into that long shape first. Budget the eight minutes below and treat pivoting as a separate, earlier step.

你需要的数据

Three columns, one row per cell: the row category, the column category, and the numeric value at that intersection. One header row, no pre-shaded formatting.

示例 CSV
DayHourOrders
Monday912
Monday1231
Monday1522
Monday1845
Tuesday915
Tuesday1228
Tuesday1519
Tuesday1852
Wednesday911
Wednesday1224
Wednesday1520
Wednesday1858
备注

This is long format, not wide format. If your source is a pivot table with days across the top and hours down the side, unpivot it first: one row per cell, not one column per day. Most spreadsheet tools call this "unpivot" or "melt."

A missing combination (say, Wednesday at 21:00 never happened) doesn't need a zero row. Leave it out and PlotSet renders that cell as empty rather than as a false zero, which matters a lot on a colour scale.

Keep the value column numeric only. If a cell has been formatted as a percentage or currency string in the source sheet, strip the symbol before uploading or PlotSet will treat it as text and the colour scale won't compute.

For a correlation matrix, both the row and column categories are the same list of variables. That's normal, the diagonal (each variable against itself) will read as the maximum value, which is expected and fine to leave in.

操作步骤

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

  1. 01

    Open the Heatmap template

    From the PlotSet dashboard, start a new project and choose the Heatmap template. It loads with sample data already bound so you can see the exact three-column shape, row, column, value, before you touch your own file.

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

    Shape your sheet into row, column, value

    One line per cell. If your data currently lives as a wide grid, days across the top as separate columns, unpivot it into this long format first. This is the step people skip and then wonder why the upload doesn't map cleanly.

  3. 03

    Upload your file or connect a sheet

    Use the data panel to import a CSV or .xlsx file, paste rows directly, or connect a Google Sheet if the underlying numbers change on a schedule and you'd rather not re-upload every time.

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

    Map the row, column and value fields

    Tell PlotSet which column feeds the row axis, which feeds the column axis, and which is the numeric value being shaded. Clear headers like "Day", "Hour", "Orders" usually get guessed correctly, but check it when your sheet carries extra columns.

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

    Choose sequential or diverging

    Sequential (light to dark, one hue) for a quantity that only runs from low to high, like order counts. Diverging (two hues either side of a real midpoint like zero) when some values are above a baseline and some are below it, like a correlation matrix or a change-from-average table.

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

    Order the rows and columns on purpose

    Switch off alphabetical sorting unless the categories already have a natural order, like weekdays or hours. Sort by row total, or group similar rows next to each other, so the pattern (the hot band, the quiet row) is visible instead of scattered across the grid.

  7. 07

    Turn on cell labels if the grid is small enough

    Under roughly a fifteen by fifteen grid, showing the number inside each cell costs nothing and lets readers get an exact value without hovering. Past that size, leave the cells blank and rely on the tooltip, printed numbers on a dense grid just become noise.

  8. 08

    Publish, embed or export the finished grid

    Publish for a live chart with hover tooltips that show the row, column and exact value, grab the embed code for a page, or export a PNG, SVG or PDF if you need a static image for a deck.

从已加载示例数据的 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 最稳妥。导出前先设好倍数,图片在高分屏上才够锐利。

Heatmap 的样式提示

Set the scale range with an outlier in mind

One unusually large cell, a launch-day spike, a data-entry error, pulls every other cell toward the pale end of the scale and the pattern disappears. Cap the scale manually at a sensible ceiling, or fix the outlier at the source, rather than letting the raw maximum decide the range for you.

Pick a midpoint that means something for diverging scales

Zero for a correlation matrix or a change value, the historical average for a performance grid. An arbitrary midpoint (PlotSet defaulting to the middle of your data's range) will shade cells as "above average" and "below average" relative to nothing in particular.

Cluster rows instead of alphabetizing them

If two rows behave similarly across every column, put them next to each other. Alphabetical order is the single most common reason a heatmap looks like noise when the underlying data actually has a clear block structure.

Avoid the default rainbow if PlotSet offers one

A spectral scale isn't perceptually ordered, so a reader's eye sees hard edges where the data is actually smooth. A single-hue sequential scale, or a proper two-hue diverging scale, reads correctly at a glance and holds up for colour-blind readers.

制作 Heatmap 时的常见错误

The whole grid looks nearly one colour

This is almost always one extreme value stretching the scale so far that everything else compresses into a narrow band near the low end. Find the outlier cell, decide whether it's real, and either cap the colour scale's maximum manually or exclude the value.

Upload succeeds but the grid comes out with gaps or extra cells

Check that every row/column combination in your source data is spelled and cased consistently. "Monday" and "monday " (with a trailing space) read as two different rows to PlotSet, which fragments what should be one row into two thin, mostly-empty ones.

A diverging scale makes ordinary values look alarming

If the midpoint got set to the middle of the data range instead of a real baseline like zero, half your unremarkable cells will shade as if they're notably below average. Reset the midpoint to the value that actually matters for your data before publishing.

深入了解 Heatmap

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

关于 Heatmap

Heatmap:常见问题

Three columns in long format: a row category, a column category, and a numeric value for each combination, one row per cell. A wide pivot table needs to be unpivoted into this shape first. CSV and .xlsx both work, along with a pasted range from any spreadsheet.

现在制作你的 Heatmap

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