首页 > 解决方案 > savefig 时更改 mplfinance 图上的边距

问题描述

我有以下产生财务情节的代码:

from pandas_datareader import data as web
import pandas as pd
import mplfinance as mpf
df = web.DataReader('goog','yahoo', start="2021-07-3", end="2021-09-12")
mpf.plot(df, style='charles', type = 'candle', volume=True, figratio=(12,8), title='large title', savefig = 'testimage.jpg')

在此处输入图像描述

但是它生成的图像在所有方面都留下了很多空间,所以我包含了参数,tight_layout=True但是现在我得到了一个看起来像这样的图像:

在此处输入图像描述

标题在图片里面。您能否建议我如何更改左右紧且标题在顶部的边距。另外,如何为图像添加辅助标题

标签: pythontitlemplfinance

解决方案


当标题选项作为字典传递时,可以传递额外的配置来定位标题。

例如,


config = dict(
    style="charles",
    type="candle",
    volume=True, 
    figratio=(12,8),
    title={"title": "large title", "y": 1},
    tight_layout=True
)
fig = mpf.plot(df, **config)

添加次要标题。您需要控制绘图轴。

你可以写:

ax1 = plt.axes([0,0,1,0.4])
ax1.set_title("Volume")
ax1.yaxis.set_label_position("right")
ax1.yaxis.tick_right()

ax2 = plt.axes([0,0.6,1,0.4])
ax2.set_title("Price")
ax2.yaxis.set_label_position("right")
ax1.yaxis.tick_right()


config = dict(
    style="charles",
    type="candle",
    volume=ax1,
    ax=ax2,
    figratio=(12,8),
    num_panels=2,
    tight_layout=True
)

fig = mpf.plot(df, **config)

matplotlib 财务的控制轴


推荐阅读