微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

mplfinance 中是否有 plt.scatter 的等价物?如何在mplfinance中绘制数据点?

如何解决mplfinance 中是否有 plt.scatter 的等价物?如何在mplfinance中绘制数据点?

mplfinance 中 plt.scatter 的等价物是什么???

我正在使用 mpl Finance 绘制股票价格图。

scanf("%2s",s[Count].state);

这个

def graph():
    file = 'prices1.xlsx'
    data = pd.read_excel(file,sheet_name = stockQuote)
    data.Date = pd.to_datetime(data.Date)
    data = data.set_index('Date')
    mpf.plot(data,type = 'candle',mav = (100),tight_layout = True)

应该让我知道烛台中的 AAPL 价格图表。
我有一个带有买入和卖出价格的 excel 表。看起来像这样

graph('AAPL')
日期 符号 动作 价格
2020-03-20 AAPL 购买 80
2021-03-05 AAPL 120
2020-03-20 TSLA 购买 400

我知道 matplotlib 有这个:

myPrices = pd.read_excel('transactions.xlsx')

因为我想绘制'AAPL',我想读取transaction.xlsx 中的日期,其中Symbol = 'AAPL'。我想在 MPLFINANCE GRAPH 中买时用绿色箭头 ^ 表示,卖出时用红色箭头 v 表示。但是,我只知道matplotlib中的这种方法。 mplfinance有等价物吗?请帮助 T-T

解决方法

mplfinace 中的散点图不能单独使用,但可以与烛台结合使用。您的数据被修改为基于月度的数据并用作样本数据。关于数据需要注意的一点是时间序列数据的长度必须相同,否则会出现错误。这个页面很好reference

import pandas as pd
import numpy as np
import io

data = '''
Date Symbol Action Price
2020-03-01 AAPL Buy 80
2020-04-01 AAPL Sell 130
2020-05-01 AAPL Buy 90
2020-06-01 AAPL Sell 125
2020-07-01 AAPL Buy 125
2020-08-01 AAPL Sell 110
2020-09-01 AAPL Buy 95
2020-10-01 AAPL Sell 125
2020-11-01 AAPL Buy 125
2020-12-01 AAPL Sell 140
2021-01-01 AAPL Buy 115
2021-02-01 AAPL Sell 135
'''

df = pd.read_csv(io.StringIO(data),delim_whitespace=True)

df['Date'] = pd.to_datetime(df['Date'])

buy = df[df['Action'] == 'Buy']
buy2 = df[['Date']].merge(buy,how='outer')
sell = df[df['Action'] == 'Sell']
sell2 = df[['Date']].merge(sell,how='outer')

import mplfinance as mpf
import yfinance as yf

data = yf.download("AAPL",interval='1mo',start="2020-03-01",end="2021-03-01")
data.dropna(how='any',inplace=True)

ap = [mpf.make_addplot(buy2['Price'],type='scatter',marker='^',markersize=200,color='g'),mpf.make_addplot(sell2['Price'],marker='v',color='r')
     ]
      
mpf.plot(data,type='candle',ylabel='Candle',addplot=ap,volume=False)

enter image description here

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。