You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Blazor Syncfusion图表Tooltip展示同比支出占比问题求助

解决方案

核心思路是利用ChartTooltipInfo的Index属性,从你的数据源costByYears中获取对应年份的PercentageIncrease值,再根据正负值处理显示文本。

修改Tooltip模板代码

<ChartTooltipSettings Enable="true" Fill="gray">
    <Template>
        @{
            var tooltipInfo = context as ChartTooltipInfo;
            // 通过索引获取对应的YearsData对象
            var yearData = costByYears[tooltipInfo.Index];
            // 判断增减类型
            var changeType = yearData.PercentageIncrease >= 0 ? "增加" : "减少";
            // 取绝对值格式化百分比,保留1位小数(可按需调整)
            var percentage = Math.Abs(yearData.PercentageIncrease).ToString("F1");
            
            <b>@tooltipInfo.X : @tooltipInfo.Y</b><br/>
            @if (yearData.Year != costByYears.First().Year)
            {
                <span>较上年支出@changeType@percentage%</span>
            }
            else
            {
                <span>无上年对比数据</span>
            }
        }
    </Template>
</ChartTooltipSettings>

关键说明

  • 获取对应数据:tooltipInfo.Index对应你绑定到图表的costByYears集合的索引,通过这个索引可以直接拿到包含PercentageIncrease的YearsData对象。
  • 增减判断:通过PercentageIncrease的正负值决定显示“增加”还是“减少”,同时取绝对值避免负号重复出现。
  • 边界处理:对第一年的数据(无上年对比)做特殊处理,显示友好提示,避免出现无意义的0%增减。

额外优化建议

如果需要更精确的百分比控制,可以调整ToString的格式参数,比如"F2"保留两位小数,或者"P1"自动添加百分号(注意此时不需要手动加%)。

内容的提问来源于stack exchange,提问作者Valerija

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.03 02:22:50