9.5 KiB
9.5 KiB
图表显示设备名称配置指南
问题描述
在 ThingsBoard 的时间序列图表中,图表标签只显示通用的 "Temperature" 等名称,无法区分不同设备的数据。
解决方案
在配置图表的数据源时,可以使用变量来自定义标签,显示设备名称。
配置步骤
1. 进入图表配置
- 在 Dashboard 中,点击图表组件进入编辑模式
- 右侧会显示配置面板
2. 配置数据键标签(在"数据"标签页)
- 点击配置面板顶部的 "数据" 标签页
- 找到 "数据键"(Data Keys)部分
- 对于每个数据键,点击展开或编辑
- 在 "标签"(Label)字段中,使用以下变量格式:
可用的变量:
${entityName}- 设备名称(推荐)${deviceName}- 设备名称(与 entityName 相同)${entityLabel}- 设备标签(如果有设置)${dsName}- 数据源名称${aliasName}- 别名名称
示例配置:
${entityName} - 温度
或者:
${entityName}
或者组合使用:
${entityName} (${entityLabel})
3. 具体操作示例
假设你有 4 个设备,每个设备都发送 airport.temperature 数据:
-
在"数据"标签页中:
- 找到数据键配置区域
- 对于
airport.temperature这个数据键 - 将标签从
Temperature改为:${entityName} - 温度
-
如果使用 Entity Alias:
- 如果使用了 Entity Alias(如 "所有设备")
- 标签会显示为:
设备名称 - 温度 - 例如:
7CTDM7H00B5EM1 - 温度
4. 图例显示
配置后,图表的图例(Legend)会显示:
7CTDM7H00B5EM1 - 温度7CTXM9Q00B02H2 - 温度7CTXN5K00B0AXM - 温度7CTXM9500B01LA - 温度
这样就能清楚地区分不同设备的数据了。
详细配置说明
数据键标签格式
在 数据 标签页 → 数据键 → 标签 字段中:
格式1:仅设备名称
${entityName}
格式2:设备名称 + 描述
${entityName} - 温度
格式3:设备标签(如果有)
${entityLabel}
格式4:数据源名称
${dsName}
格式5:组合使用
${entityName} (${entityLabel})
变量说明
| 变量 | 说明 | 示例值 |
|---|---|---|
${entityName} |
设备名称 | 7CTDM7H00B5EM1 |
${deviceName} |
设备名称(同 entityName) | 7CTDM7H00B5EM1 |
${entityLabel} |
设备标签(如果设置了) | 设备A |
${dsName} |
数据源名称 | 设备数据源 |
${aliasName} |
Entity Alias 名称 | 所有无人机设备 |
多数据源场景
如果图表中有多个数据源(多个设备),每个数据源的数据键都会使用相同的标签格式,但 ${entityName} 会替换为对应设备的名称。
示例:
- 设备1
7CTDM7H00B5EM1的标签:7CTDM7H00B5EM1 - 温度 - 设备2
7CTXM9Q00B02H2的标签:7CTXM9Q00B02H2 - 温度
配置位置图示
配置面板
├── 数据 (Data) ← 在这里配置
│ ├── 数据源 (Datasources)
│ └── 数据键 (Data Keys)
│ └── 标签 (Label): ${entityName} - 温度
├── 外观 (Appearance)
├── 卡片 (Card)
├── 动作 (Actions)
└── 布局 (Layout)
验证配置
配置完成后:
-
查看图例:
- 图表底部的图例应该显示设备名称
- 例如:
7CTDM7H00B5EM1 - 温度
-
查看悬停提示:
- 鼠标悬停在图表线条上时
- 提示框应该显示设备名称
-
查看汇总表:
- 如果图表上方有汇总表
- 表格中的行标题应该显示设备名称
常见问题
Q1: 配置后仍然显示 "Temperature"
原因:
- 可能没有保存配置
- 或者变量格式不正确
解决:
- 确保变量格式正确:
${entityName}而不是{entityName}或$entityName - 点击 "应用" 按钮保存配置
- 刷新页面查看效果
Q2: 所有设备都显示相同的名称
原因:
- 可能使用了 Entity Alias,但没有正确配置多设备
解决:
- 检查数据源配置
- 确保 Entity Alias 选择了多个设备
- 或者为每个设备单独配置数据源
Q3: 变量显示为文本而不是设备名称
原因:
- 变量格式错误
- 或者数据源配置不正确
解决:
- 检查变量格式:使用
${entityName}而不是${entityName}(注意大括号) - 确保数据源已正确关联到设备
高级配置
使用设备标签代替设备名称
如果设备设置了标签(Label),可以使用:
${entityLabel} - 温度
这样会显示更友好的名称,而不是设备ID。
组合多个变量
${entityName} (${entityLabel}) - 温度
显示效果:7CTDM7H00B5EM1 (设备A) - 温度
Y 轴显示实际数值配置
问题描述
如果 Y 轴显示的是比例尺(如 0-100)而不是实际数值(如 18、19、20、21),需要配置 Y 轴设置。
配置步骤
1. 进入 Y 轴配置
- 在图表配置面板中,点击 "外观"(Appearance)标签页
- 找到 "Y 轴"(Y Axes)部分
- 展开 Y 轴配置(通常是 "default")
2. 配置 Y 轴标签显示
在 Y 轴配置中,确保以下设置:
-
显示刻度标签(Show Tick Labels):开启 ✓
- 这个选项必须开启,否则不会显示数值
-
小数位数(Decimals):设置合适的数值
- 例如:
0(显示整数)或1(显示一位小数) - 对于温度数据,通常设置为
0或1
- 例如:
-
单位(Units):可选
- 例如:
°C或℃(如果显示温度)
- 例如:
3. 配置位置
配置面板
├── 外观 (Appearance) ← 在这里配置
│ └── Y 轴 (Y Axes)
│ └── default
│ ├── 显示刻度标签 (Show Tick Labels): ✓ 开启
│ ├── 小数位数 (Decimals): 0 或 1
│ └── 单位 (Units): °C (可选)
4. 具体操作
-
打开 Y 轴配置:
- 点击 "外观" 标签页
- 找到 "Y 轴" 部分
- 点击展开 "default" Y 轴配置
-
启用标签显示:
- 找到 "显示刻度标签"(Show Tick Labels)开关
- 确保它是 开启 状态(绿色/蓝色)
-
设置小数位数:
- 找到 "小数位数"(Decimals)字段
- 设置为
0(整数)或1(一位小数)
-
重要 - 清空最小值/最大值(让 Y 轴自动调整):
- 找到 "最小值"(Min)字段
- 清空该字段(留空,不要填 0 或其他值)
- 找到 "最大值"(Max)字段
- 清空该字段(留空,不要填 100 或其他值)
- 这样 Y 轴会根据实际数据自动调整范围,而不是固定显示 0-100
-
可选 - 设置单位:
- 找到 "单位"(Units)字段
- 输入
°C或℃(如果需要显示温度单位)
-
保存配置:
- 点击 "应用" 按钮保存
Y 轴配置说明
| 配置项 | 说明 | 推荐值 |
|---|---|---|
| 显示刻度标签 | 控制是否在 Y 轴上显示数值 | 开启 ✓ |
| 小数位数 | 控制数值显示的小数位数 | 0(整数)或 1(一位小数) |
| 单位 | 显示在 Y 轴标签后的单位 | °C(温度)或留空 |
| 最小值 | Y 轴的最小值(可选) | 留空(自动) |
| 最大值 | Y 轴的最大值(可选) | 留空(自动) |
验证配置
配置完成后:
-
查看 Y 轴:
- Y 轴左侧应该显示实际数值
- 例如:
10,15,20,25,30 - 而不是比例尺或百分比
-
查看数值格式:
- 如果设置了单位,应该显示:
10°C,15°C,20°C - 如果设置了小数位数,应该显示对应的小数位
- 如果设置了单位,应该显示:
常见问题
Q1: Y 轴仍然显示比例尺
原因:
- "显示刻度标签" 选项未开启
- 或者小数位数设置不正确
解决:
- 确保 "显示刻度标签" 开关是 开启 状态
- 检查小数位数设置(建议设置为
0或1) - 点击 "应用" 保存配置
- 刷新页面查看效果
Q2: Y 轴数值显示不完整
原因:
- 可能数值太大或太小,需要设置合适的范围
解决:
- 在 Y 轴配置中设置 "最小值"(Min)和 "最大值"(Max)
- 或者保持为空,让系统自动计算
Q4: Y 轴范围与汇总表数据不一致
问题描述:
- 汇总表显示最大值、最小值、平均值都是 20 左右
- 但 Y 轴显示到 100,图表刻度范围过大
原因:
- Y 轴的 "最大值" 被固定设置为 100
- 应该设置为自动,让系统根据实际数据范围计算
解决:
- 在 Y 轴配置中找到 "最大值"(Max)字段
- 清空该字段(留空),让系统自动计算
- 同样,将 "最小值"(Min)字段也清空(留空)
- 点击 "应用" 保存配置
配置后效果:
- Y 轴会自动根据数据的实际范围调整
- 如果数据在 20-30°C 之间,Y 轴会显示类似 15-35°C 的范围(包含一些边距)
- 这样图表会更清晰地显示数据变化
Q3: Y 轴数值格式不正确
原因:
- 小数位数设置不合适
- 或者单位设置不正确
解决:
- 调整 "小数位数" 设置
- 检查 "单位" 设置是否正确
- 对于温度数据,建议小数位数为
0或1
参考
- ThingsBoard Widget 配置文档:https://thingsboard.io/docs/user-guide/ui/widgets/
- 数据源变量:https://thingsboard.io/docs/user-guide/ui/widgets/#datasource-variables