Matplotlib Finance (mplfinance) 使用 mpf.plot() 格式化图表轴
Matplotib Finance (mplfinance) formatting axes of chart unsing mpf.plot()
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想加一个$货币和小数位(变量)。
import pandas as pd
import mplfinance as mpf
df = pd.read_csv(csv)
df.date = pd.to_datetime(df.date)
cols = ['date', 'open', 'high', 'low', 'close', 'volume']
df = df[cols]
df = df.sort_values(by=['date'], ascending=False)
df = df.set_index('date')
然后使用(插入样式)调用 mplfinance:
mpf.plot(df, type='candle', volume=True style= *style*)
生成以下图表,如果可能的话,我已经突出显示了我想更改的部分。
对于日期格式,可以添加kwarg datetime_format
,例如:
mpf.plot(df, type='candle', volume=True, style=s, datetime_format='%b %d')
对于 y 轴刻度标签,我建议您使用 kwarg ylabel='Price ($)'
或类似的东西简单地调整 y 轴标签(而不是刻度标签)。
或者,如果您真的想在每个刻度标签旁边添加一个 $ 符号,您可以这样做:
- first gain access to the mplfinance axes objects.
- 然后为该轴设置格式化程序,如下所示:
from matplotlib.ticker import FormatStrFormatter
fig, axlist = mpf.plot(df,type='candle',volume=True,style=s,
datetime_format='%b %d',returnfig=True)
axlist[0].yaxis.set_major_formatter(FormatStrFormatter('$%.2f'))
mpf.show()
默认样式的结果
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想加一个$货币和小数位(变量)。
import pandas as pd
import mplfinance as mpf
df = pd.read_csv(csv)
df.date = pd.to_datetime(df.date)
cols = ['date', 'open', 'high', 'low', 'close', 'volume']
df = df[cols]
df = df.sort_values(by=['date'], ascending=False)
df = df.set_index('date')
然后使用(插入样式)调用 mplfinance:
mpf.plot(df, type='candle', volume=True style= *style*)
生成以下图表,如果可能的话,我已经突出显示了我想更改的部分。
对于日期格式,可以添加kwarg datetime_format
,例如:
mpf.plot(df, type='candle', volume=True, style=s, datetime_format='%b %d')
对于 y 轴刻度标签,我建议您使用 kwarg ylabel='Price ($)'
或类似的东西简单地调整 y 轴标签(而不是刻度标签)。
或者,如果您真的想在每个刻度标签旁边添加一个 $ 符号,您可以这样做:
- first gain access to the mplfinance axes objects.
- 然后为该轴设置格式化程序,如下所示:
from matplotlib.ticker import FormatStrFormatter
fig, axlist = mpf.plot(df,type='candle',volume=True,style=s,
datetime_format='%b %d',returnfig=True)
axlist[0].yaxis.set_major_formatter(FormatStrFormatter('$%.2f'))
mpf.show()