四月上旬新内容速递丨技术深潜、图表进阶与AI热词

春意正浓,学习升温!四月上旬更新聚焦技术拓展、图表新解、AI热点与实战任务,助你在数据探索之路上步步为营,智取未来!

一、场景应用精选

【热力图】数据的“温度计”与分布探测器》→热力图在业务分布与浓度识别中的实战应用。
【数析课堂】排序法:业务人员的“数据理线器”》→排序法助力业务数据梳理,提升分析效率。
【关系图】解锁数据背后的“隐形网络”与关联密码》→关系图在复杂关联分析中的深度应用。
【数析课堂】让数据开口说话:职场人的“图形法”生存指南》→图形法职场实战指南,轻松驾驭数据表达。

二、技术经验分享

降维打击!Smartbi仪表盘隐藏ECharts玩法大揭秘》→解锁仪表盘高阶玩法,用ECharts实现可视化降维创新。
“数”转乾坤:数据转换规则变形记》→深入数据转换规则,掌握数据变形与流转的核心技巧。

三、AI知识更新

【AI每日一学】简要介绍一下最近AI圈很火的“养龙虾”话题》→每日一学,快速理解AI圈热门话题“养龙虾”。
【AI每日一学】讲一下最近AI圈很火的“养龙虾”话题中一直被提及的skill》→深度解析“养龙虾”中的关键技能概念,紧跟AI前沿。

四、全新素材上线

指标元素动态图(二)》→新增指标动态图素材,丰富仪表盘视觉表现力。

五、二次开发视频更新

2026年「月更日志」社区更新合集 3.1 - 3.31》→回顾三月社区更新动态,掌握平台最新进展。
春日如约而至:2026年第一季度任务通关排行榜请查收!》→揭晓Q1任务通关榜单,激励持续学习与挑战。

六、任务持续上线

【AI知识巩固】简要介绍一下最近AI圈很火的“养龙虾”话题》→追踪AI圈最新热词,轻松入门“养龙虾”现象。
【图表应用】热力图:数据的“温度计”与分布探测器》→学习热力图制作,让数据热度一目了然。
【BI知识闯关】降维打击!Smartbi仪表盘隐藏ECharts玩法大揭秘》→实战闯关,巩固仪表盘隐藏技能。
【数析课堂】排序法知识巩固》→掌握排序分析法,梳理数据层级关系。
【图表应用】关系图:挖掘数据背后的“隐形关系网”》→学习关系图绘制,发现数据间的隐秘关联。
【BI知识闯关】重生之如何找SQL看数据不对问题(上)》→SQL排错实战,提升数据校验能力。
【BI知识闯关】“数”转乾坤:数据转换规则变形记》→闯关巩固数据转换规则应用。
【AI知识巩固】讲一下最近AI圈很火的“养龙虾”话题中一直被提及的skill》→深入“养龙虾”背后的技能概念,拓展AI认知。
【数析课堂】图形法知识巩固》→强化图形化分析方法,让数据表达更直观。

麦粉社区
>
帖子详情

如何停止这个颜色的循环

数据分析 发表于 1 小时前
发表于 1 小时前

我发现这个颜色如果上一个类被没用完会循环到下一个类被,如何停止这种,让每一个类被都从颜色头开始

发表于 29 分钟前
加入创建的宏管理即可,
回复

使用道具 举报

发表于 12 分钟前
可以参考下这个宏代码,不过宏代码是ai生产的仅供参考哦
function main(page: IPage, portlet: IEChartsPortlet) {
    // 获取图表配置
    const opt = portlet.getChartOptions();
    if (!opt) return;

    // 颜色色板:红 → 蓝 → 黄 → 绿 → 青 → 蓝(深) → 紫
    const COLOR_PALETTE: string[] = [
        '#FF4B4B', // 红
        '#3370FF', // 蓝
        '#FFD700', // 黄
        '#52C41A', // 绿
        '#13C2C2', // 青
        '#1890FF', // 深蓝
        '#9254DE', // 紫
    ];

    const series = opt.series || [];
    if (series.length === 0) return;

    // 第一步:遍历所有 series,提取每条系列对应的区域名称
    // series.data 中找第一个有实际值(value 数组长度 > 0)的 data 项,
    // 其 value[1] 即为所属区域名
    const getRegion = (s: any): string => {
        const dataArr = s.data || [];
        for (let i = 0; i < dataArr.length; i++) {
            const val = dataArr.value;
            if (Array.isArray(val) && val.length >= 2 && val[1]) {
                return String(val[1]);
            }
        }
        return '__unknown__';
    };

    // 第二步:按区域分组,记录每个区域内各 series 的出现顺序
    // 用 Map 保持区域首次出现的顺序(不要求特定区域顺序,按数据顺序处理)
    const regionIndexMap: Map = new Map();

    // 第三步:遍历所有 series,按区域内顺序分配颜色
    for (let i = 0; i < series.length; i++) {
        const s = series;
        if (!s) continue;

        const region = getRegion(s);

        // 获取该区域内当前已分配的数量(即当前系列在区域内的序号)
        const indexInRegion: number = regionIndexMap.has(region)
            ? regionIndexMap.get(region)!
            : 0;

        // 按色板循环取色
        const color = COLOR_PALETTE[indexInRegion % COLOR_PALETTE.length];

        // 判空后设置颜色
        s.itemStyle = s.itemStyle || {};
        s.itemStyle.color = color;

        // 更新该区域计数
        regionIndexMap.set(region, indexInRegion + 1);
    }

    // 应用修改后的配置
    portlet.setChartOptions(opt);
}
回复

使用道具 1 举报

高级模式
B Color Image Link Quote Code Smilies
您需要登录后才可以回帖 登录 | 立即注册

2回帖数 0关注人数 37浏览人数
最后回复于:12 分钟前

社区

指南

AI

搜索

快速回复 返回顶部 返回列表