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

如何在Office JavaScript中更改图表数据点(条形)的颜色?

在Office JavaScript中修改瀑布图单个条形(数据点)的颜色

要修改瀑布图中单个条形(数据点)的颜色,你需要直接操作对应系列下的points集合,而非仅设置整个系列的填充色。以下是修改后的完整代码:

Excel.run(function (context) {
    var newSheet = context.workbook.worksheets.getItem("Dashboard");

    var chartDataRange = newSheet.getRange("AF2:AK3");
    let chartIncome = newSheet.charts.add(
        Excel.ChartType.waterfall,
        chartDataRange);

    chartIncome.title.text = "Income Statement";
    chartIncome.top = 105;
    chartIncome.left = 10;
    chartIncome.format.border.color = "white";

    chartIncome.title.visible = false;
    chartIncome.legend.visible = false;
    chartIncome.axes.valueAxis.visible = false;
    chartIncome.axes.categoryAxis.visible = true;

    chartIncome.dataLabels.showValue = true;
    chartIncome.gapWidth = 80;

    chartIncome.axes.valueAxis.majorGridlines.visible = false;
    chartIncome.axes.valueAxis.minorGridlines.visible = false;

    // 设置整个系列的默认填充色
    chartIncome.series.getItemAt(0).format.fill.setSolidColor("#FF9933");
    chartIncome.series.getItemAt(1).format.fill.setSolidColor("#1E4D57");

    // 修改单个数据点的颜色:示例为第0个系列的第2个数据点(索引从0开始)
    chartIncome.series.getItemAt(0).points.getItemAt(2).format.fill.setSolidColor("#FF0000");
    // 示例:修改第1个系列的第1个数据点颜色
    chartIncome.series.getItemAt(1).points.getItemAt(1).format.fill.setSolidColor("#00FF00");

    return context.sync();
})

关键说明:

  • 每个系列的points集合包含该系列下的所有数据点,索引从0开始计数
  • 通过series.getItemAt(seriesIndex).points.getItemAt(pointIndex)定位目标数据点,再用format.fill.setSolidColor()设置自定义颜色
  • 瀑布图的汇总数据点(如总计行)可通过对应索引单独设置颜色,实现突出显示效果

内容的提问来源于stack exchange,提问作者Zia ul Qamar

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.04 12:37:17