如何修改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
相关产品推荐
相关产品推荐

