mplfinance:在不使用 "ohlc" DataFrame 的情况下绘制一条线?
mplfinance: plot a line without using an "ohlc" DataFrame?
我想在不使用 “默认 ohlc 数据” 的情况下绘制一条线。
在这种情况下,我使用 Github.
中的数据
我该怎么做?
import pandas as pd
import mplfinance as mpf
import matplotlib.animation as animation
import numpy as np
path_ = 'C:\Mypath'
intraday = pd.read_csv(path_+'SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
intraday.index.name = 'Date'
# mpf.plot(intraday,type='line') #ohlc DataFrame.. ok
int_Low = intraday.loc[:,'Low'] #non ohlc DataFrame
mpf.plot(data=int_Low,type='line') #doesn't work
mplfinance 似乎是围绕基本 OHLC 图表设计的。制作低线的一种方法是将其添加到图表中:
lowline = mpf.make_addplot(intraday['Low'], type='line')
mpf.plot(intraday, addplot=lowline)
不幸的是,就像 mplfinance 现在一样,当绘制 type='line'
时,mpf.plot(data,type='line')
将默认使用 'Close' 列。
一种可能的 work-around 是将您的 'Low' 数据放入 'Close' 列。
df = pd.read_csv('examples/data/SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
df['RealClose'] = df['Close'].values # save close values in case want them later
df['Close'] = df['Low'].values # set 'Close' column to low values
mpf.plot(df,type='line') # plot 'Low' as a line
另一种解决方案可能是增强 mplfinance 以接受名为 use_column
的 kwarg。然后,例如,可以简单地写:
df = pd.read_csv('examples/data/SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
mpf.plot(df,type='line',use_column='Low')
此增强功能相对容易实现(只需几行代码)。如果您有兴趣为 mplfinance 做出贡献,请在下面的评论中告诉我。全面披露:我是 mplfinance 的维护者。
我想在不使用 “默认 ohlc 数据” 的情况下绘制一条线。 在这种情况下,我使用 Github.
中的数据我该怎么做?
import pandas as pd
import mplfinance as mpf
import matplotlib.animation as animation
import numpy as np
path_ = 'C:\Mypath'
intraday = pd.read_csv(path_+'SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
intraday.index.name = 'Date'
# mpf.plot(intraday,type='line') #ohlc DataFrame.. ok
int_Low = intraday.loc[:,'Low'] #non ohlc DataFrame
mpf.plot(data=int_Low,type='line') #doesn't work
mplfinance 似乎是围绕基本 OHLC 图表设计的。制作低线的一种方法是将其添加到图表中:
lowline = mpf.make_addplot(intraday['Low'], type='line')
mpf.plot(intraday, addplot=lowline)
不幸的是,就像 mplfinance 现在一样,当绘制 type='line'
时,mpf.plot(data,type='line')
将默认使用 'Close' 列。
一种可能的 work-around 是将您的 'Low' 数据放入 'Close' 列。
df = pd.read_csv('examples/data/SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
df['RealClose'] = df['Close'].values # save close values in case want them later
df['Close'] = df['Low'].values # set 'Close' column to low values
mpf.plot(df,type='line') # plot 'Low' as a line
另一种解决方案可能是增强 mplfinance 以接受名为 use_column
的 kwarg。然后,例如,可以简单地写:
df = pd.read_csv('examples/data/SP500_NOV2019_IDay.csv',index_col=0,parse_dates=True)
mpf.plot(df,type='line',use_column='Low')
此增强功能相对容易实现(只需几行代码)。如果您有兴趣为 mplfinance 做出贡献,请在下面的评论中告诉我。全面披露:我是 mplfinance 的维护者。