python - 如何在 matplotlib 金融中保存烛台图
问题描述
我制作了一些 python 脚本来使用 mpl_finance 创建烛台图。我已经成功制作了烛台图,但为了我的生命,我找不到将图表保存为 png 的方法。这是我的代码:
!pip install yfinance
!pip install mplfinance
!pip install bokeh
!pip install mpl-finance
# https://towardsdatascience.com/trading-toolbox-03-ohlc-charts-95b48bb9d748
from mplfinance.original_flavor import candlestick_ohlc
import mplfinance as fplt
import yfinance as yf
import datetime as dt
import pandas as pd
from pandas_datareader import data as pdr
from datetime import timedelta
import matplotlib.dates as mdates
from bokeh.plotting import figure,show,output_file
import matplotlib.pyplot as plt
import mpl_finance as mpf #
yf.pdr_override()
start = dt.datetime.now() - timedelta(60)
now = dt.datetime.now()
stock = "BAC"
df = pdr.get_data_yahoo(stock ,start , now)
# Convert yahoo finance data to readable to mplfinance
df.index = pd.to_datetime(df.index)
dvalues = df[['Open','High', 'Low','Close']].values.tolist()
pdates = mdates.date2num(df.index)
ohlc = [ [pdates[i]] + dvalues[i] for i in range(len(pdates)) ]
plt.style.use('fivethirtyeight')
fig, ax = plt.subplots(figsize = (16,12))
mpf.candlestick_ohlc(ax, ohlc, width=0.4, colorup='green', colordown='red') # i want to save this chart.
plt.savefig('amzn.png') # i have tried this but not avail
解决方案
仅使用新的 mplfinance 可以更简单地完成此操作:
import mplfinance as mpf
import pandas as pd
import datetime as dt
import pandas_datareader as pdr
now = dt.datetime.now()
start = now - dt.timedelta(60)
stock = "AMZN"
filename = stock.lower()+'.png'
df = pdr.get_data_yahoo(stock ,start , now)
mpf.plot(df,type='candle',style='yahoo',savefig=filename)
推荐阅读
- gentics-mesh - 网格中废弃 tmp 文件的问题
- elasticsearch - Fluentbit Kubernetes - 如何从现有日志中提取字段
- mysql - 获取每个日期的最新行
- git - 直接提交子目录中的更改
- haskell - 在 Haskell 中不使用 + 运算符将两个数字相加
- sql - 如何使用嵌套在 OR 中的多个 AND 条件来索引 SQL
- html - 自定义 window.print()
- r - 基于ggtree中的外部数据集着色标签
- javascript - 'Observable' 类型上不存在属性 'catch'
' - opencv - 我的 OpenCV 下载有问题吗?