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

Plotly Express无法识别已安装自定义字体,求解决方法

Plotly无法识别已安装自定义字体的解决思路

已通过Tkinter确认HaboroSans-NormRegular字体已安装,但Plotly Express设置该字体后仍显示默认字体,可尝试以下方案:

1. 验证字体名称的精确匹配

Plotly对字体名称的匹配要求严格,可能需要使用字体的PostScript名称而非系统显示名称:

  • Windows:使用FontForge等工具查看字体属性,或通过Git Bash/WSL执行fc-list | grep Haboro搜索;
  • macOS/Linux:终端执行fc-list | grep Haboro获取精确名称。

替换为正确名称后测试:

import plotly.express as px

fig = px.line(x=[1,2,3], y=[1,2,3], title='Plot 123')
fig.update_layout(titlefont_family='[正确的字体PostScript名称]')
fig.show()

2. 手动注册字体文件

直接指定字体文件路径,强制Plotly加载该字体:

import plotly.io as pio
import plotly.express as px

# 注册自定义字体,替换为你的字体文件路径(.ttf/.otf格式)
pio.kaleido.scope.fonts.add(
    dict(family='HaboroSans-NormRegular', path='C:/Windows/Fonts/HaboroSans-NormRegular.ttf')
)

# 生成并设置字体
fig = px.line(x=[1,2,3], y=[1,2,3], title='Plot 123')
fig.update_layout(titlefont_family='HaboroSans-NormRegular')
fig.show()

3. 适配浏览器渲染后端

若使用浏览器渲染(如Jupyter Notebook或导出HTML),需确保浏览器能加载该字体,可嵌入字体样式到HTML中:

from plotly.offline import plot
import plotly.express as px

fig = px.line(x=[1,2,3], y=[1,2,3], title='Plot 123')
fig.update_layout(titlefont_family='HaboroSans-NormRegular')

# 嵌入字体样式到HTML
custom_css = """
<style>
@font-face {
    font-family: 'HaboroSans-NormRegular';
    src: url('file:///C:/Windows/Fonts/HaboroSans-NormRegular.ttf') format('truetype');
}
</style>
"""
html_output = custom_css + plot(fig, output_type='div')

# 保存或直接查看HTML
with open('custom_font_plot.html', 'w', encoding='utf-8') as f:
    f.write(html_output)

4. 清除Plotly缓存

Plotly可能缓存旧的字体配置,删除缓存目录后重启Python环境:

  • Windows:C:\Users\<你的用户名>\.plotly
  • macOS/Linux:~/.plotly

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 09:15:20