Crystal.Li 发表于 2021-6-21 16:40:21

实现根据条件设置图表颜色

本帖最后由 Crystal.Li 于 2021-6-22 09:28 编辑

在实际项目运行中,我们可能有这样的需求:对于一个柱状图,我们希望当数值大于某个值时显示一种颜色,小于某个值时显示某个颜色。以便于更加容易的区分数值。那么这个需求使用我们的报表功能如何实现呢?接下来为您揭晓:

https://gcdn.grapecity.com.cn/data/attachment/forum/202104/30/155100pntqw8azn112k98m.pnghttps://gcdn.grapecity.com.cn/data/attachment/forum/202104/30/155045oe2oum9wz5t9996u.png
1、处理数据集
要实现这个功能我们可能需要对数据集的字段做一个处理,我们的原始数据往往是类似这样的明细数据:

此时,如果我们想通过柱状图的方式查看各个销售大区下的购买数量,往往这样实现:


那么对于上图,我们如何实现 “销售总量大于2000的柱子” 显示一个颜色,其余柱子显示另外一种颜色呢?
这种情况下,就需要我们先对数据集处理了,提前计算好各个大区的销售总量。这里我使用的是mysql数据源,所以通过sql语句这样处理:(其余数据源见仁见智)
select 销售大区, sum(购买数量) as 数量和 from 销售明细 group by 销售大区
最终数据集字段:



2、绑定上一步骤处理好的数据集字段及颜色字段
如果您的原始数据就是上一步的数据,即可直接跳过上一步,如果是明细,就需要按照上一步骤进行处理。处理完成将字段绑定到图表:

如上图,对右侧颜色字段绑定一个表达式,这个表达式就是根据条件显示图表颜色的关键:

{IIF(数量和 > 2000, "大于2000", "小于等于2000")}这个表达式的意思是,当数值大于2000时,属于分类“大于2000”,小于等于2000时,属于分类“小于等于2000”,这个分类名您可根据自身需求自定义,只要能区分这两个区间即可。


3、指定颜色
选中整个图表,右侧属性设置,在调色板选择自定义,下方添加指定自己想要的颜色:

预览:


另外,如果您有不止一个颜色,需要指定多个颜色,那么在第二步颜色字段表达式中,不要使用IIF函数,使用Switch函数即可,实现思想是一样的。关于Switch函数的用法:




eggfish 发表于 2021-6-21 20:59:56

我好想没有看到调色板这个选项

Crystal.Li 发表于 2021-6-22 09:27:45

eggfish 发表于 2021-6-21 20:59
我好想没有看到调色板这个选项

您看这个属性设置模式是不是没有选到高级:

eggfish 发表于 2021-6-22 14:43:11

再问一下,web版设计器中如何设定label的数据format

在桌面版设计器中只要后面加个:f2就表示小数点后面保留2位

eggfish 发表于 2021-6-22 14:58:12

另外再问一下,web端设计器的脚本在哪里?

Lenka.Guo 发表于 2021-6-22 17:37:37

您好

Web设计器暂时没有脚本功能。 Web设计器设置格式,可以直接设置单元格的【数据格式】属性。

eggfish 发表于 2021-6-22 21:29:39

不是表格中的文本框,我说的柱状图中的标签label怎么设置显示格式

eggfish 发表于 2021-6-22 22:10:36

另外WEB板设计器的调色板已经成功调出,但是桌面版设计器如何使用调色板,也就是如何自定义柱状图的柱状颜色。

Crystal.Li 发表于 2021-6-23 10:00:22

本帖最后由 Crystal.Li 于 2021-6-23 10:07 编辑

eggfish 发表于 2021-6-22 22:10
另外WEB板设计器的调色板已经成功调出,但是桌面版设计器如何使用调色板,也就是如何自定义柱状图的柱状颜 ...
在customPlatte里面调色:


Crystal.Li 发表于 2021-6-23 10:06:48

eggfish 发表于 2021-6-22 21:29
不是表格中的文本框,我说的柱状图中的标签label怎么设置显示格式
在这里设置:

和桌面端写法一致。



另外您后续有其他问题最好在求助中心发帖提问哦~ 这里主要是专题教程,技术顾问不容易看到您的问题~
页: [1] 2
查看完整版本: 实现根据条件设置图表颜色