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

D3 v4中schemeBlues[9]报错的原因及解决方法

D3 v4中schemeBlues报错的原因及修复方法

报错原因

  • D3 v4重构了模块结构,v3里直接可用的d3.schemeBlues这类配色方案,在v4中被拆分到了独立的d3-scale-chromatic模块里,默认的d3.v4.js核心库不包含这个模块,所以直接访问d3.schemeBlues会返回undefined,进而触发读取[9]属性的报错。
  • 而d3.geoAlbersUsa()属于v4核心库自带的d3-geo模块,所以能正常运行,这就导致了同一脚本里两个API表现不一致的情况。

修复方法

方法1:引入d3-scale-chromatic模块

在现有v4核心库的script标签之后,添加引入该模块的代码:

<script src="https://d3js.org/d3-scale-chromatic.v1.min.js"></script>

引入后,你原来的代码无需修改,var blues = d3.scaleOrdinal(d3.schemeBlues[9]);就能正常运行。

方法2:使用v4内置的连续渐变方案(可选)

如果你的场景适合连续颜色渐变,也可以直接用v4核心库支持的插值函数,不需要额外引入模块:

// 生成连续的蓝色渐变
var blues = d3.scaleSequential(d3.interpolateBlues);

内容的提问来源于stack exchange,提问作者Amarth Gûl

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 21:21:01