PlotSet LogoPlotSet

How to Create a Stacked Bar Chart

A step by step walkthrough for turning a spreadsheet into a published stacked bar chart in PlotSet, from shaping the sheet in wide format to ordering the stack and exporting the result.

约 8 分钟

This guide covers how to create a stacked bar chart from your own spreadsheet, end to end: a published, interactive chart with the segments ordered on purpose and the totals reading correctly, not a copy of the sample data the template ships with. You will shape a sheet into wide format, upload it, map the columns, and decide the one thing that actually changes how the chart reads: which segment sits on the baseline.

Eight minutes is the going rate once your spreadsheet is already one row per category with a column for each segment. Starting from a long format export, one row per category-segment pair, tacks on another five for the pivot PlotSet needs before it reads as a stack. Either way, the click path below is the one a real chart goes through, upload to publish.

你需要的数据

Wide format, one row per category: the category name in the first column, then one numeric column for each segment. One header row, headers become the legend labels.

示例 CSV
RegionHardwareSoftwareServices
North America420610190
Europe310480150
Asia Pacific260390110
Latin America9014050
备注

This has to be wide, not long. If your source data has one row per region per product line with a separate "value" column, pivot it in your spreadsheet first so each product line gets its own column.

Column order sets the default stack order, left to right becomes bottom to top (or reverse it in the chart, depending on your layout). Put the segment you want on the shared baseline in the leftmost data column.

Header names become the legend text exactly as typed. Rename "Q1_Rev_Actual" to something a reader recognizes before you upload, since renaming later just means redoing the column mapping.

A blank cell is read as zero, not skipped. If a region genuinely sold no services that quarter, a zero is correct; if the number is just missing, fill it in before the bar's total quietly comes out short.

操作步骤

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

  1. 01

    Open the Stacked Bar Chart template

    From the PlotSet dashboard, start a new project and choose the Stacked Bar Chart template. It loads with sample data already in place, in the wide format PlotSet expects, so you can see the column layout before you touch your own file.

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

    Pivot your sheet into wide format if it isn't already

    One row per category, one column per segment: category in the first column, a number for each segment after it. If your export is long format, one row per category-segment pair, pivot it in your spreadsheet tool first. Uploading long format straight into a stacked chart usually produces one segment per bar instead of a real stack.

  3. 03

    Get your data into PlotSet

    Use the data panel to import a CSV or .xlsx file, paste rows directly from a spreadsheet, or connect a Google Sheet if you want the chart to refresh when the source changes. PlotSet reads the first row as headers and each of those becomes a segment name.

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

    Map the category column and the segment columns

    Confirm which column feeds the category axis and which numeric columns feed the stack. This is usually automatic when your headers are clean, but check it if your sheet carries an extra column, such as a total, that shouldn't be treated as its own segment.

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

    Order the stack

    Drag the segment you want on the shared baseline to the bottom of the stack order and keep that order identical across every bar. This is the one decision in a stacked chart that actually changes what a reader can compare, so make it deliberately rather than leaving the upload order in place.

  6. 06

    Turn on total labels if the total matters

    If the story is partly about the overall size of each bar, switch on a total label at the end of it. Reading a stacked total off the axis by eye is imprecise once you have more than two segments, so a printed number saves the guesswork.

  7. 07

    Label segments directly and pick a colour per series

    With four segments or fewer, labelling each band directly usually reads faster than a separate legend, since there's no lookup between colour and name. Give each segment its own consistent colour and keep that colour tied to the same segment across every bar, not reassigned per chart.

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

    Ship it: publish, embed or export

    Publish for a live, interactive chart with hover tooltips that break out each segment's value, grab the embed code for a page, or export a PNG, SVG or PDF for a deck or report.

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

打开模板

发布、嵌入或导出

最后一段路对每种图表都一样:「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 最稳妥。导出前先设好倍数,图片在高分屏上才够锐利。

Stacked Bar Chart 的样式提示

Bottom-align the segment your reader compares most

Only the bottom band sits on a shared baseline across bars, so it's the only one that can be compared accurately at a glance. If one series is the point of the chart, for example this year's revenue against a backdrop of prior years, put it at the bottom, not buried in the middle of the stack.

Switch to 100% stacked when totals aren't the point

If your bars have wildly different totals and the story is really about the mix, not the size, turn on the 100% stacked option. Every bar normalizes to the same length, which makes the proportions easy to compare and removes the size differences that were distracting from them.

Keep segment colours consistent, not sequential

A sequential colour scale (light to dark) implies an order that a stack of unrelated categories, like product lines or departments, doesn't have. Use distinct, consistent colours per segment instead, and save a sequential scale for when the segments are genuinely ordered, like age brackets.

Roll small segments into an explicit "Other" column

Past five or six segments the thinner bands become hard to read and harder to tell apart by colour. Sum the smallest categories into one "Other" column in your source sheet before uploading, rather than letting PlotSet render eight thin slivers per bar.

制作 Stacked Bar Chart 时的常见错误

Every bar shows only one segment instead of a stack

This is almost always a long format upload: one row per category-segment pair rather than one row per category with a column per segment. Pivot the sheet so each segment gets its own column, then re-upload or reconnect the source.

The legend shows raw column headers instead of readable names

PlotSet uses your header row as the segment labels exactly as written, so a header like "seg_2_val" ends up on the chart verbatim. Rename the columns in your source spreadsheet and re-upload, since editing the legend text alone won't survive the next refresh.

A bar's total looks lower than the real number

Check for a blank cell in one of the segment columns for that category. PlotSet reads a blank as zero rather than skipping it, so a missing value quietly shrinks the bar instead of raising an error. Fill in the actual number or confirm zero is correct.

深入了解 Stacked Bar Chart

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

关于 Stacked Bar Chart

Stacked Bar Chart:常见问题

Wide format: one row per category, and one numeric column per segment, with a single header row. That's different from a long format export with one row per category-segment pair, which needs to be pivoted into wide format before PlotSet reads it correctly as a stack.

现在制作你的 Stacked Bar Chart

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