savefig 时更改 mplfinance 图上的保证金
Changing margin on mplfinance plot when savefig
我有以下生成财务图的代码:
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')
但是它生成的图像在四周留下了很多 space,所以我包含了参数 tight_layout=True
但是现在我得到的图像看起来像这样:
标题在图片里面。你能告诉我如何改变左边和右边很紧并且标题在上面的边距吗?还有如何给图片添加副标题
当标题选项作为字典传递时,Extra configuration 可以传递以定位标题。
例如,
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)
我有以下生成财务图的代码:
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')
但是它生成的图像在四周留下了很多 space,所以我包含了参数 tight_layout=True
但是现在我得到的图像看起来像这样:
标题在图片里面。你能告诉我如何改变左边和右边很紧并且标题在上面的边距吗?还有如何给图片添加副标题
Extra configuration 可以传递以定位标题。
例如,
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)