C# WinForms DevExpress报表如何实现带区间标注的GFR图表

实现方法
不用额外找第三方控件,DevExpress报表自带的XRChart就能完全实现这个效果,优先用**轴自定义条带(Strip)**的方案,配置步骤如下:
- 初始化控件
打开报表设计器,从工具箱拖XRChart控件到要放图表的位置,把默认生成的示例系列、默认图例全删掉,只留基础坐标轴结构就行。 - 配置基础坐标轴
把横轴(AxisX)作为GFR数值轴,直接设置轴范围MinValue=0、MaxValue=120,按需求设刻度间隔(比如每10个单位显示一个刻度),加上轴标题「GFR取值」;纵轴(AxisY)直接设Visibility = false隐藏,完全不需要展示。 - 添加分段色带
找到横轴的Strips属性,新增3个条带对应三个肾功能区间:- 肾功能衰竭区间:条带
MinValue=0、MaxValue=15,填充色设成参考图对应的红色,开条带内置标签,文本填「肾功能衰竭」,对齐方式设为水平、垂直都居中,标签背景设成透明,避免挡住色带 - 肾病区间:条带
MinValue=15、MaxValue=60,填充色设成参考图对应的黄色,标签文本填「肾病」,对齐规则同上 - 肾功能正常区间:条带
MinValue=60、MaxValue=120,填充色设成参考图对应的绿色,标签文本填「肾功能正常」,对齐规则同上
- 肾功能衰竭区间:条带
- 收尾调整样式
把图表高度拉窄到刚好能放下色带和横轴刻度就行,不需要的图表标题、多余边框线可以直接隐藏。
如果你的GFR分段阈值不是固定值、需要从数据库动态读取,可以换用水平范围条形(Range Bar)系列实现:新增一个水平方向的Range Bar系列,加三个数据点分别对应三个区间的起止值,给每个数据点单独设填充色和点标签,最终效果和条带方案完全一致,还支持动态绑定数据源。要是后续需要在色带上标记患者的实际GFR检测值,直接在现有图表上叠加一个散点(Point)系列,Y值统一固定为0、X值绑定患者GFR字段,就能在对应区间位置打出标记点,不用重新制图。
内容的提问来源于stack exchange,提问作者raja
相关产品推荐
相关产品推荐

