如何在Oracle Apex柱状图中实现条件格式化
Oracle Apex 数值柱状图格式化解决方案
一、调整数据源SQL,添加颜色标识
在你的查询中新增字段,通过CASE语句根据阈值判断每个柱子的颜色值。假设阈值为33,原查询返回CATEGORY(类别)和VALUE(数值),修改后的SQL示例:
SELECT CATEGORY, VALUE, CASE WHEN VALUE >= 33 THEN '#2ECC71' ELSE '#E74C3C' END AS BAR_COLOR FROM YOUR_TABLE;
如果阈值需要动态配置(比如绑定页面项P1_THRESHOLD),直接把33替换为:P1_THRESHOLD即可。
二、配置柱状图绑定颜色字段
- 编辑柱状图区域,进入Series标签页
- 找到Color属性,选择「Column」选项,从下拉列表中选中新增的
BAR_COLOR字段 - 保存设置,柱子会自动根据阈值显示对应颜色
三、添加Y轴阈值水平线
利用Apex图表内置的参考线功能实现,无需额外CSS:
- 在图表编辑界面,进入Reference Lines标签页
- 点击「Add Reference Line」按钮:
- Type选择「Y Axis」
- Value输入阈值(固定值填
33,动态阈值填&P1_THRESHOLD.) - 按需设置线样式:比如Line Style选「Dashed」,Color设为
#95A5A6,Width设为1
- 保存后,Y轴会显示这条阈值水平线
备选:CSS自定义样式(内置功能不满足时)
如果需要更个性化的样式,可通过CSS调整:
- 在Series的Custom Attributes中添加类名绑定:
class="bar-#BAR_COLOR#" - 在页面的Inline CSS中添加样式:
.bar-\#E74C3C\# { fill: #E74C3C !important; } .bar-\#2ECC71\# { fill: #2ECC71 !important; } /* 自定义参考线样式(替代内置功能时) */ .apexcharts-yaxis .apexcharts-reference-line { stroke: #95A5A6; stroke-dasharray: 5,5; }
内容的提问来源于stack exchange,提问作者Kunal Kamra
相关产品推荐
相关产品推荐

