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

如何修改mplfinance标题字体大小与类型及禁止绘图仅保存文件

完整解决方案

你可以参考如下修改后的代码,同时满足自定义副标题样式、仅保存不显示、避免内存溢出警告的需求:

import matplotlib.pyplot as plt
from pandas_datareader import data as web
import mplfinance as mpf

# 切换到非交互后端,完全禁止绘图在IDE/Notebook中渲染显示
plt.switch_backend('agg')

df = web.DataReader('goog','yahoo', start="2021-07-3", end="2021-09-12")

# 自定义标题:列表的每个元素对应一行标题,支持字典格式自定义单行样式
custom_title = [
    "new title",
    # 第二行(副标题)自定义字体属性
    {
        "label": "another title",
        "fontsize": 12, # 自定义字号
        "fontfamily": "Arial", # 自定义字体,如需显示中文可替换为SimHei/微软雅黑等
        "fontweight": "normal",
        "color": "#333333"
    }
]

mpf.plot(
    df, 
    style='charles', 
    type = 'candle', 
    volume=True, 
    figratio=(12,8), 
    title = custom_title,
    # 指定保存路径,直接生成文件不触发显示
    savefig = "google_k_line.png",
    # 返回图对象方便后续手动释放内存
    returnfig = True
)

# 关闭所有已创建的图,彻底释放内存,消除RuntimeWarning
plt.close('all')

关键参数说明

  • 自定义多行标题样式:title参数传入列表时,每一个元素对应一行标题,元素为字典格式时可单独自定义该行的字体大小、字体类型、颜色、字重等属性。
  • 禁止绘图显示:
    • 调用plt.switch_backend('agg')切换为非交互的渲染后端,不会在Spyder/Jupyter界面中渲染图片
    • savefig参数直接指定保存路径,mplfinance会跳过显示步骤直接写入文件
  • 解决内存警告:每次绘图完成后调用plt.close('all')主动释放所有图对象占用的内存,不会再出现超出20个图未释放的警告。

原效果参考图

效果图

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 23:18:03