- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我已经制作了一个 python 脚本来使用 mpl_finance 在像这样的烛台中转换 csv 文件,这是脚本:
import matplotlib.pyplot as plt
from mpl_finance import candlestick_ohlc
import pandas as pd
import matplotlib.dates as mpl_dates
plt.style.use('ggplot')
# Extracting Data for plotting
data = pd.read_csv('CSV.csv')
ohlc = data.loc[:, ['Date', 'Open', 'High', 'Low', 'Close']]
ohlc['Date'] = pd.to_datetime(ohlc['Date'])
ohlc['Date'] = ohlc['Date'].apply(mpl_dates.date2num)
ohlc = ohlc.astype(float)
# Creating Subplots
fig, ax = plt.subplots()
plt.axis('off')
fig.patch.set_facecolor('black')
candlestick_ohlc(ax, ohlc.values, width=0.6, colorup='green', colordown='red', alpha=0.8)
plt.show()
import mplfinance as mpf
# Load data file.
df = pd.read_csv('CSV.csv', index_col=0, parse_dates=True)
# Plot candlestick.
# Add volume.
# Add moving averages: 3,6,9.
# Save graph to *.png.
mpf.plot(df, type='candle', style='charles',
title='',
ylabel='',
ylabel_lower='',
volume=True,
mav=(3,6,9),
savefig='test-mplfiance.png')
我有这个结果:
最佳答案
最好的方法是使用 mpf.make_mpf_style()
定义您自己的样式。而不是使用默认的 mpf 样式。
如果在 mplfinance 中使用外轴法,您可以绘制多个图表,如下所示:
# add your own style by passing in kwargs
s = mpf.make_mpf_style(base_mpf_style='charles', rc={'font.size': 6})
fig = mpf.figure(figsize=(10, 7), style=s) # pass in the self defined style to the whole canvas
ax = fig.add_subplot(2,1,1) # main candle stick chart subplot, you can also pass in the self defined style here only for this subplot
av = fig.add_subplot(2,1,2, sharex=ax) # volume chart subplot
mpf.plot(price_data, type='candle', ax=ax, volume=av)
默认的 mpf 样式如下。我相信 'mike' 和 'nighclouds' 有黑暗的背景,不是 100% 确定其他人,你可以选择在这两个之上工作。
In [5]:
mpf.available_styles()
Out[5]:
['binance',
'blueskies',
'brasil',
'charles',
'checkers',
'classic',
'default',
'mike',
'nightclouds',
'sas',
'starsandstripes',
'yahoo']
Link to visualize the default mplfinance styles
mpf.make_mpf_style()
中可以传递的参数如下,您可以使用
base_mpf_style, facecolor, gridcolor, gridstyle, gridaxis, rc
自定义您自己的样式,并使用
style_name
为其命名.您可以尝试使用这些参数,看看它们的结果如何。
def _valid_make_mpf_style_kwargs():
vkwargs = {
'base_mpf_style': { 'Default' : None,
'Validator' : lambda value: value in _styles.keys() },
'base_mpl_style': { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) }, # and is in plt.style.available
'marketcolors' : { 'Default' : None, #
'Validator' : lambda value: isinstance(value,dict) },
'mavcolors' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,list) }, # TODO: all([mcolors.is_color_like(v) for v in value.values()])
'facecolor' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
'edgecolor' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
'figcolor' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
'gridcolor' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
'gridstyle' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
'gridaxis' : { 'Default' : None,
'Validator' : lambda value: value in [ 'vertical'[0:len(value)], 'horizontal'[0:len(value)], 'both'[0:len(value)] ] },
'y_on_right' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,bool) },
'rc' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,dict) },
'style_name' : { 'Default' : None,
'Validator' : lambda value: isinstance(value,str) },
}
_validate_vkwargs_dict(vkwargs)
return vkwargs
关于python - 如何自定义 mplfinance.plot?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60599812/
我正在 mplfinance 图上打印移动平均线,正如预期的那样存在差距。 在大多数图表软件上,即 TradingView 等,它们在移动平均线上没有缺口 - 并假设它们正在从之前的 -n 元素中提取
这是我使用 mplfinance 绘制股票价格图表的代码,我希望图表按对数比例缩放。我怎样才能做到这一点? import mplfinance as mpf # Data reading and pr
这是我使用 mplfinance 绘制股票价格图表的代码,我希望图表按对数比例缩放。我怎样才能做到这一点? import mplfinance as mpf # Data reading and pr
我已经制作了一个 python 脚本来使用 mpl_finance 在像这样的烛台中转换 csv 文件,这是脚本: import matplotlib.pyplot as plt from mpl_f
我正在尝试使用 yfinance 和 mplfinance 绘制简单的股票数据,但是我一直遇到日期时间问题(我相信)。这是我到目前为止。 这是我正在使用的数据帧的一部分。 Date Ope
有谁知道如何在我的图表上添加入场信号以便我可以直观地看到它?当 SPY 价格达到 411.50 美元时,我希望在图表上看到进场信号。 我已经阅读了我在网上可以找到的有关该主题的所有内容,包括 mplf
使用 Mplfinance .我希望有人能阐明“y_on_right”参数的正确用法。我相信我正确使用了 mpf.make_addplot() 但它不会将 y 轴移动到图表的另一侧。使用 docs假如
有谁知道如何在我的图表上添加入场信号以便我可以直观地看到它?当 SPY 价格达到 411.50 美元时,我希望在图表上看到进场信号。 我已经阅读了我在网上可以找到的有关该主题的所有内容,包括 mplf
使用 Mplfinance .我希望有人能阐明“y_on_right”参数的正确用法。我相信我正确使用了 mpf.make_addplot() 但它不会将 y 轴移动到图表的另一侧。使用 docs假如
所以我已经能够使用 pip 成功安装 mplfinance,并且当我单独导入它时,我没有收到任何错误。虽然当我这样做时: from mplfinance import Candlestick_ohlc
我有一个问题。我正在尝试在我的 mplfinance 图表中画线。为此,我有以下代码: levels = [(8531.0, Timestamp('2020-02-27 00:00:00')), (8
我正在尝试为 CNN 制作大量(约 170 万张)图像(带体积的烛台图)。但是,我目前拥有的脚本在每次迭代后不断增加其内存使用量,据我所知,每次迭代大约 2-5mb。无论我正在运行多少个脚本实例,这都
我在 tkinter GUI 中有一个 pyplot 图,我正在尝试使用实时数据每秒更新 mplfinance 中的 candlestick_ohlc 图。 mySubplot = myFigure.
我正在尝试使用 mplfinance 绘制 5 个图表。 这个有效: for coin in coins: mpf.plot(df_coins[coin], title=coin, type=
我正在尝试使用 mplfinance 绘制 5 个图表。 这个有效: for coin in coins: mpf.plot(df_coins[coin], title=coin, type=
mplfinance 中 plt.scatter 的等价物是什么??? 我正在使用 mpl Finance 绘制股票价格图表。 def graph(): file = 'prices1.xls
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
MPL 财务很棒,但我似乎无法调整坐标轴的格式。在图像中,我只想显示日期,而不显示 00:00 时间。还有价格,我想添加一个 $ 货币和小数位(变量)。 import pandas as pd imp
我需要画两条水平线来表示支撑和阻力。 这是我的代码: from alpha_vantage.timeseries import TimeSeries import mplfinance as mpf
我正在绘制两个图表。一个带有 matplotlib.pyplot 的条形图和带有 mplfinance 的第二个蜡烛图,我想在同一个图(图像)中显示它们堆叠在一起。 我找到了如何使用 matplotl
我是一名优秀的程序员,十分优秀!