如何在Plotly.js中全局设置默认字体族?
如何全局修改Plotly.js的默认字体族
可以通过猴子补丁直接修改Plotly.js的内部布局属性定义,无需fork源码或修改CDN版本,具体方法如下:
核心修改代码
在加载Plotly.js之后、创建任何图表之前,执行以下代码替换默认字体栈:
// 修改全局基础字体的默认值 Plotly.Layout.layoutAttributes.font.family.dflt = "'自定义字体', '备选字体', sans-serif"; // 可选:同步修改其他组件的独立字体默认值(部分组件可能未继承全局字体) // 示例:修改坐标轴标签字体 if (Plotly.Layout.layoutAttributes.xaxis.title.font) { Plotly.Layout.layoutAttributes.xaxis.title.font.family.dflt = "'自定义字体', '备选字体', sans-serif"; } // 同理可处理yaxis、legend、title等组件的字体默认值
关键说明
- 之前无法访问
globalFont.family.dflt是因为它是Plotly的内部私有变量,但Plotly.Layout.layoutAttributes是公开可修改的属性集合,直接修改其中的dflt字段即可覆盖硬编码的默认值。 - 必须在创建图表前执行这段代码,确保所有后续生成的Plotly图表都自动使用新字体栈。
- 自定义字体需提前在页面中加载(比如通过
@font-face规则引入),否则会自动回退到备选字体。
内容的提问来源于stack exchange,提问作者prototype
相关产品推荐
相关产品推荐

