# 柱状图

> 柱状图组件的参考：把实时点位按类别并排比较，以及编辑器里的每一项属性。

**柱状图**把实时点位并排比较：每个地址一根柱子，读的是此刻的值。它是一张按类别比较的图，不是时间图，背后没有时间轴、没有时间窗口、没有采样节拍，也没有保留时长。要按时间跟踪点位，请用[折线图](component-line-chart)。

读不到的点位会被排除在这次比较之外，而不是画成零，图表在图形下面说明这一点（`4 个点位中有 1 个没有读数，已被略去。`）。刚打开的画面还什么都不说：还没读到，和读不到，不是一回事。

## 内容与点位 {#content-and-points}

| 属性 | 作用 | 取值 | 默认 |
|---|---|---|---|
| 图表标题 | 画在绘图区里面的可选抬头。这是图表自己的抬头，不是组件的角上标题（那一个在共用的外观分区里）。 | 文本 | 空 |
| 点位 | 参与比较的各个类别，每根柱子一张卡片，按声明的顺序排列。每张卡片装着下面三个字段。**添加点位**在末尾追加一个。 | 列表 | 空 |
| · 地址 | 这根柱子所读的带根 Logic 地址。字段从实时点位清单里给建议，过滤为数值点位，指名之后显示该点位当前的读数。 | 地址 | 空 |
| · 名称 | 坐标轴和图例怎么称呼这根柱子。 | 文本 | 留空则退回到地址 |
| · 颜色 | 这根柱子的墨色，写成 `#RRGGBB`。 | 十六进制颜色 | 留空则按调色板轮到的颜色 |
| 排序 | 各根柱子按什么顺序画。按声明的顺序，能让一台设备不管产出多少都留在操作员摆它的位置上；改成排序，回答的则是谁领先。 | 按声明的顺序 · 从小到大 · 从大到小 | 按声明的顺序 |

## 格式 {#format}

整张图共用一份声明，柱子上、数据提示里和标注里都一样，因为一张图用一种方式书写一个数字。

| 属性 | 作用 | 取值 | 默认 |
|---|---|---|---|
| 单位 | 写在每个读数后面的可选工程单位。 | 文本 | 空 |
| 小数位 | 读数固定的小数位数。 | 0 到 15 | 留空则用工作站的偏好 |
| 读数形式 | 每个读数用什么方式写出来。这个选择绝不会把值本身重新换算。 | 数字 · 百分比 · 时长 | 数字 |
| 数值按什么计 | 格式为时长时，一个单位的值表示多少。只在那种格式下显示。 | 秒 · 毫秒 · 分钟 | 秒 |

## 柱子 {#bars}

| 属性 | 作用 | 取值 | 默认 |
|---|---|---|---|
| 把柱子横放 | 把柱子横着画。长名称横着读比挤在柱子底下读要好。单元格窄到放不下名称、读数和刻度并排时，会按这个顺序让出地方：先是比它在宽度中所占份额更长的名称以省略号结尾，再是读数不写，最后名称本身也不写。柱子上的数据提示仍然给出完整的名称和读数；单元格一旦宽到放得下某一部分，那一部分就回来。 | 开 / 关 | 关 |
| 堆叠成一根柱子 | 把各个类别堆进同一根柱子，而不是让它们并排站着。并排站着回答的是“每一项各占多少”；堆叠起来回答的是“整体是怎么分的”，那正是饼图的问题，只是画直了。 | 开 / 关 | 关 |
| 把每个读数写在它的柱子上 | 在每根柱子上写出按格式书写的数值。单元格矮到没法在立着的柱子上方写读数，或者柱子横放时窄到没法在柱子旁边写读数，读数就交给数据提示。会写到相邻读数上面的读数也不写，交给数据提示。 | 开 / 关 | 开 |
| 最小 | 数值轴固定住的下端，按读数自己的单位。留空则让坐标轴随所读到的数据自行调整，那样不管测的是什么，最高的柱子总是顶到绘图区的上方。固定的刻度才能让两眼看到的东西可比。 | 数值 | 空（自动） |
| 最大 | 数值轴固定住的上端。两端彼此独立：下端可以固定住，同时上端跟着数据走。 | 数值 | 空（自动） |
| 图例 | 图例摆在哪里。只有柱子堆叠时才提供：并排站着时，柱子在坐标轴上已经有名字了，图例只会把同一份清单印两遍；堆成一根之后，图例是唯一能把各段分辨开的东西。单元格窄到图例的一行写不下所有名称时，图例改为把各段一行一段地列出；名称比所在的行长时以省略号结尾，这一行的数据提示里能看到全文。列表最多占五行；单元格矮到再给绘图区留出三分之一高度就放不下时，行数更少。段比行多时，列表分页显示，最后一行是箭头和页码（如 1/3）。单元格一旦够宽，就回到一行。 | 绘图区上方 · 绘图区下方 · 无 | 绘图区上方 |

单元格小到放不下全部内容时，会在绘图区小到没法读之前先省掉一些部分。单元格矮时，并排立着的柱子先不写柱子上方的读数，再不写柱子下方的名称；横放的柱子，不管是并排还是堆叠，不写柱子下方刻度上的数字。单元格窄时，立着的柱子，不管是并排还是堆叠，不写柱子旁边刻度上的数字，放不下的柱子下方名称以省略号结尾。柱子上的数据提示仍然给出名称和读数；单元格一旦有地方放下某一部分，那一部分就回来。

## 刻度区段 {#scale-bands}

**刻度**分区用每个可视化组件共用的那个区段编辑器，声明数值范围里的一段一段各表示什么。在柱状图上，区段就是一块调色板：它们按每个读数落在哪里给柱子上色，此外再无别的作用。这里一次比较的是好几个读数，所以并没有哪一段是这幅图形*所处*的那一段，因此区段在这里没有配说法的字段，也不提供参考值标记。

每个区段从列表中它上面那个区段结束的地方开始，一直覆盖到自己的上限；超过最后一个上限的读数不属于任何区段，保留柱子被写定的那个墨色。色调命名的是含义，也就是中性、信息、正常、注意、严重，具体上什么色由当前运行的主题决定。

## 工具栏 {#toolbox}

**工具栏**分区挑选操作员在这张图上能用到哪些按钮。一次比较没有可以走的坐标轴，所以只提供它做得到的那些工具；一个都不勾选时，根本不画工具栏。

| 工具 | 作用 | 是否在默认集合里 |
|---|---|---|
| 保存 PNG | 把图形下载成一个 PNG。 | 是 |
| 复制 PNG | 把图形以 PNG 放到剪贴板上。 | 是 |
| 全屏 | 让这张图铺满整个窗口。 | 是 |
