![](/img/trans.png)
[英]How to set yaxis tick label in a fixed position so that when i scroll left or right the yaxis tick label should be visible?
[英]How do I set the tick and label colours in mplfinance?
我已经设法对我的大多数 mplfinance 图表进行颜色坐标,但我无法弄清楚如何设置刻度和标签的颜色。
我目前有以下代码:
market_colours = mpf.make_marketcolors(up="g", down="r", edge=BACKGROUND_COLOUR, wick=LINE_COLOUR)
style = mpf.make_mpf_style(marketcolors=market_colours, facecolor=BACKGROUND_COLOUR, edgecolor=LINE_COLOUR,
figcolor=BACKGROUND_COLOUR, gridcolor=LINE_COLOUR, gridstyle="--")
mpf.plot(df, type="candle", style=style)
这是我在 matplotlib 中的代码,通常这样做:
ax.xaxis.label.set_color(TEXT_COLOUR)
ax.yaxis.label.set_color(TEXT_COLOUR)
for axis in ["left"]: # modify borders
ax.spines[axis].set_color(LINE_COLOUR)
ax.spines[axis].set_linewidth(3)
for axis in ["top", "right", "bottom"]: # remove borders
ax.spines[axis].set_linewidth(0)
for axis in ["x", "y"]:
ax.tick_params(axis=axis, colors=LINE_COLOUR, which="both", width=2)
这篇文章的答案显示了mpf.plot
的可能 kwargs 但我找不到任何可以做到这一点的东西,或者在mplfinance 的样式文档中。
免责声明:我对mplfinance
不是很熟悉,所以可能有更好的方法来解决这个问题。 我认为维护mplfinance
Daniel Goldfarb 会定期检查这些问题,并可能会启发我们更好的方法。
我也没有找到直接定义这些图像方面的方法,不幸的是, mplfinance
不会返回它创建的轴对象,因此我们不能追溯更改图像元素。 但是, 这里说您可以提供 rcparams 作为字典。 Matplotlib 使用 rcparams 生成用于标准或当前 plot 的样式。 如果我们这样做,我们可以像您在 matplotlib 代码中所做的那样修改某些图像元素:
import pandas as pd
import mplfinance as mpf
import matplotlib.pyplot as plt
df = pd.read_csv('examples/data/SP500_NOV2019_Hist.csv',index_col=0,parse_dates=True)
df.index.name = 'Date'
BACKGROUND_COLOUR="black"
LINE_COLOUR = "blue"
TEXT_COLOUR = "orange"
style_dic = {"xtick.color": LINE_COLOUR,
"ytick.color": LINE_COLOUR,
"xtick.labelcolor": TEXT_COLOUR,
"ytick.labelcolor": TEXT_COLOUR,
"axes.spines.top": False,
"axes.spines.right": False}
market_colours = mpf.make_marketcolors(up="g", down="r", edge=BACKGROUND_COLOUR, wick=LINE_COLOUR)
style = mpf.make_mpf_style(marketcolors=market_colours, facecolor=BACKGROUND_COLOUR, edgecolor=LINE_COLOUR,
figcolor=BACKGROUND_COLOUR, gridcolor=LINE_COLOUR, gridstyle="--", rc=style_dic)
mpf.plot(df, type="candle", style=style)
plt.show()
我只在这个示例代码中包含了一个带有很容易找到的 rcparams 的style_dic
字典,而且我的印象是,您将无法使用此策略更改所有所需的图像方面。 可以在此处找到 rcparams 列表。
由于 mplfinance 提供了 function 的样式,因此很容易从默认的 styles 到 select 您喜欢的样式并根据所选样式进行自定义。
style = dict(style_name = 'mike',
base_mpl_style= 'dark_background',
marketcolors = {'candle' : {'up':'#000000', 'down':'#0080ff'},
'edge' : {'up':'#ffffff', 'down':'#0080ff'},
'wick' : {'up':'#ffffff', 'down':'#ffffff'},
'ohlc' : {'up':'#ffffff', 'down':'#ffffff'},
'volume' : {'up':'#7189aa', 'down':'#7189aa'},
'vcdopcod': False, # Volume Color Depends On Price Change On Day
'alpha' : 1.0,
},
mavcolors = ['#ec009c','#78ff8f','#fcf120'],
y_on_right = True,
gridcolor = None,
gridstyle = None,
facecolor = None,
rc = [ ('axes.edgecolor' , 'white' ),
('axes.linewidth' , 1.5 ),
('axes.labelsize' , 'large' ),
('axes.labelweight', 'semibold'),
('axes.grid' , True ),
('axes.grid.axis' , 'both' ),
('axes.grid.which' , 'major' ),
('grid.alpha' , 0.9 ),
('grid.color' , '#b0b0b0' ),
('grid.linestyle' , '--' ),
('grid.linewidth' , 0.8 ),
('figure.facecolor', '#0a0a0a' ),
('patch.linewidth' , 1.0 ),
('lines.linewidth' , 1.0 ),
('font.weight' , 'medium' ),
('font.size' , 10.0 ),
('figure.titlesize', 'x-large' ),
('figure.titleweight','semibold'),
],
base_mpf_style= 'mike'
)
编辑
更改刻度和标签的颜色,这是您基于此样式的选择。
import mplfinance as mpf
import yfinance as yf
df = yf.download("AAPL", start="2021-10-01", end="2021-12-31")
my_style = mpf.make_mpf_style(base_mpf_style='mike',
base_mpl_style='dark_background',
marketcolors=mpf.make_marketcolors(up='g',down='r',
edge='white',
wick={'up':'g','down':'r'},
volume='gray',
ohlc='white'),
gridcolor='white',
gridstyle="--",
rc={'xtick.color':'yellow',
'ytick.color':'yellow',
'axes.labelcolor':'yellow'
}
)
mpf.plot(df, type="candle", style=my_style, figratio=(9,6))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.