mplfinance如何自定义样式
在使用 mplfinance 时,我们可以通过设置参数 style 来获得多种图像风格。 style参数常用的内置样式有:'bias'、'blueskies'、'brasil'、'charles'、'checkers'、'classic'、'default'、'mike'、'nightclouds'、' sas'、'星星和弦乐'、'雅虎'。
这些内置样式很多都遵循美股的习惯。红色表示下降,韭菜(绿色)表示上升。这与我们的 A 股展示习惯正好相反。
当这些风格不能满足我们的需求,或者我们有更多美丽的灵感和创作时,我们也可以定义自己的风格。
我们使用 MPF make_mpf_style() 函数来设置一个新的样式,然后将它传递给 MPF 只需使用 style plot() 的参数即可。
第一步是照常提取数据:
# 将牧源股份(002714.SZ)的股价数据从途共享传输过来
导入 tushare 作为 ts
将熊猫导入为 pd
将 mplfinance 导入为 mpf
token u003d 'Your token' # 输入你的接口密钥、访问方式和相关权限。见图享官网。
pro u003d ts.pro_api(令牌)
df u003d pro.daily(ts_codeu003d'002714.SZ')
然后将DataFrame对象处理成适合我们使用的格式
df u003d df.loc[:, ['trade\date', 'open', 'high', 'low', 'close', 'volume']]
df.重命名(
列u003d{
'trade_date': '日期', '开盘': '开盘',
“高”:“高”,“低”:“低”,
'close': '关闭', 'vol': '音量'},
inplaceu003dTrue) # 重新定义列名,方便统一规范操作。
df['Date'] u003d pd.to_datetime(df['Date']) # 转换日期列的格式,方便绘图
df.set_index(['Date'], inplaceu003dTrue) # 日期列作为行索引
df u003d df.sort_index() # 倒序,因为Tushare的数据是最近交易日的数据,显示在DataFrame上方。逆序可以保证映射时X轴的时间序列从左到右递增。
第二步,使用MPF make_Marketcolors()函数设置K线的颜色信息。此设置的结果将作为参数传递给 MPF,稍后 make_ mpf_ Style() 以设置自定义样式。
mc u003d mpf.make_marketcolors(
upu003d"red", # 上升K线颜色
downu003d"green", # 下降K线颜色
edgeu003d"black", # 蜡烛盒颜色
volumeu003d"blue", # 交易量栏颜色
wicku003d"black" # 蜡烛图中阴影线的颜色
)
还有一个参数叫alpha,设置烛台面,取值在0.1-1之间。此设置是 K 线蜡烛的颜色深度。例如,当 alpha 设置为 0.6 时,红色蜡烛变得接近橙色。绿色变成翠绿色。只需尝试并根据您的感官进行选择。
mc设置好后,我们将其传递给MPF make_mpf_style()的marketcolors参数,来设置自定义样式。
第三步,设置自定义样式。
使用 MPF make_ mpf_ 样式函数有以下参数:
-
base_mpf_style:继承内置样式。如果你不想继承,你不需要设置它。我们这里不设置,只靠自定义。
-
mavcolors 设置移动平均线样式,必须使用list参数
-
facecolor 设置前景色(坐标系颜色)
-
edgecolor 设置边框样式
-
figcolor 设置图像外围的填充颜色
-
gridcolor 设置网格线的颜色
-
gridaxis 设置网格线的方向。两个方向都是“水平的”水平和“垂直的”
-
gridstyle 设置网格线类型,例如
'-'/'solid', '-'/'dashed', '-.'/'dashdot', ':'/'dotted', None/' '/''
-
y_on_right 设置y轴位置是否在右边
-
rc 使用 rcParams 的 dict 设置风格。如果内容和上面自定义设置一样,自定义设置会覆盖rcParams设置
这个参数通常写成:
rcu003d{'font.family': 'SimHei', 'axes.unicode_minus': 'False'}
用于解决mplfinance库生成的负数图像中文乱码和不显示的问题。
- marketcolors是我们上一步定义的K线的属性。把它传进去。
s u003d mpf.make_mpf_style(
gridaxisu003d'两者',
gridstyleu003d'-.',
y_ on_ rightu003d真,
市场颜色u003dmc,
边缘颜色u003d'b',
figcoloru003d'r',
脸色u003d'y',
网格颜色u003d'c')
第四步:开始使用 MPF Plot() 在上面设置的样式中绘制和传递
mpf.plot(df.loc['2020-11': '2020-12'], typeu003d'candle', ylabelu003d"price", styleu003ds, titleu003d'A_stock-牧原2020- Nov&Dec_candle_line', mavu003d(5, 10), volumeu003dTrue, ylabel_loweru003d"volume(shares)")
最终效果如图:

呃......找了半天,好像mplfinance库有个缺点。
源码找了半天没找到可以自定义背景图片的图片参数,
也许考虑到财务量化不需要第二个维度。
这对于二次元宅来说无疑是一个不小的打击。
算了,Matplotlib 虽然pyplot的句子比较长,但是还是很不错的,哈哈哈。
更多推荐


所有评论(0)