首页 > 解决方案 > 如何使用数据框在烛台图上绘制交易量

问题描述

我刚开始使用 Python,所以这里有点菜鸟。我设法弄清楚如何从 API 获取数据以检索股票数据。重新索引后,列如下所示:[日期,1. 开盘,2. 收盘,3. 高,4. 低,5. 成交量]

我使用了 MPL_finance 和 matplotlib,现在我在图表中得到了一个漂亮的烛台,成功了!:) 但是我一直在想如何在相同的图中添加音量以进行保存。卷位于 5. 卷列下的数据框中。谁能帮我吗?谢谢!


代码:

import matplotlib.pyplot as plt

from mpl_finance import candlestick_ohlc

import pandas as pd

import matplotlib.dates as mpl_dates

stock_names=['AAPL']
ts = TimeSeries(key='xxx',output_format='pandas')
data, meta_data = ts.get_daily(symbol=stock_names, outputsize='compact')

data = df.reset_index()

#slice to make the chart look better

data = data[:-50]

plt.style.use('ggplot')

#Extracting Data for plotting

ohlc = data.loc[:, ['date', '1. open', '2. high', '3. low', '4. 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()

candlestick_ohlc(ax, ohlc.values, width=0.6, colorup='green', colordown='red', alpha=0.8)

#Setting labels & titles

ax.set_xlabel('Date')
ax.set_ylabel('Price')
fig.suptitle('Daily Candlestick Chart')

#Formatting Date

date_format = mpl_dates.DateFormatter('%d-%m-%Y')
ax.xaxis.set_major_formatter(date_format)
fig.autofmt_xdate()

plt.show()

标签: python

解决方案


尝试新版本的 matplotlib 金融。它自动处理 DataFrames 和 Volume。文档和包在这里:

https://pypi.org/project/mplfinance/

安装:pip install --upgrade mplfinance

注意:包名不再有破折号或下划线:现在是 mplfinance(不是 mpl-finance,也不是 mpl_finance)。


推荐阅读