简体   繁体   中英

Not able to plot candle charts using mplfinance

I am trying to import the following file and plot a candle chart

The following is stored in 1.txt:

Date, Open, High, Low, Close, Volume
1589792400000, 9591.57, 9541.34, 9616.43, 9579.11, 4416.357582
1589796000000, 9579.1, 9566.96, 9666.66, 9628.39, 3873.626636
1589799600000, 9629.24, 9625.0, 9714.95, 9634.89, 3042.221677
1589803200000, 9634.89, 9565.1, 9670.0, 9665.0, 3245.471332
1589806800000, 9665.0, 9638.64, 9694.04, 9661.96, 2886.476716
1589810400000, 9661.97, 9631.82, 9735.0, 9708.56, 3105.444884
1589814000000, 9708.5, 9639.74, 9723.0, 9670.96, 2663.862566
1589817600000, 9670.97, 9608.2, 9710.0, 9648.3, 2175.585011

This is my code:

df=pd.read_csv(1.txt,index_col=0,parse_dates=True)
df.index=(pd.to_datetime(df.index,unit='ms'))
mplfinance.plot(df,type='candle')

This is how the dataframe looks like ie df

                       Open     High      Low    Close       Volume
Date                                                                
2020-05-18 09:00:00  9591.57  9541.34  9616.43  9579.11  4416.357582
2020-05-18 10:00:00  9579.10  9566.96  9666.66  9628.39  3873.626636
2020-05-18 11:00:00  9629.24  9625.00  9714.95  9634.89  3042.221677
2020-05-18 12:00:00  9634.89  9565.10  9670.00  9665.00  3245.471332
2020-05-18 13:00:00  9665.00  9638.64  9694.04  9661.96  2886.476716
2020-05-18 14:00:00  9661.97  9631.82  9735.00  9708.56  3105.444884
2020-05-18 15:00:00  9708.50  9639.74  9723.00  9670.96  2663.862566
2020-05-18 16:00:00  9670.97  9608.20  9710.00  9648.30  2175.585011

I am getting the following error:

Traceback (most recent call last):
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexes\base.py", line 2646, in get_loc
    return self._engine.get_loc(key)
  File "pandas\_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Open'

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "<pyshell#38>", line 1, in <module>
    mplfinance.plot(df,type='candle')
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\mplfinance\plotting.py", line 46, in decorator
    return func(*args, **kwargs)
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\mplfinance\plotting.py", line 205, in plot
    dates,opens,highs,lows,closes,volumes = _check_and_prepare_data(data, config)
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\mplfinance\_arg_validators.py", line 33, in _check_and_prepare_data
    opens   = data[o].values
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\frame.py", line 2800, in __getitem__
    indexer = self.columns.get_loc(key)
  File "C:\Users\bilal\AppData\Local\Programs\Python\Python37\lib\site-packages\pandas\core\indexes\base.py", line 2648, in get_loc
    return self._engine.get_loc(self._maybe_cast_indexer(key))
  File "pandas\_libs\index.pyx", line 111, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\index.pyx", line 138, in pandas._libs.index.IndexEngine.get_loc
  File "pandas\_libs\hashtable_class_helper.pxi", line 1619, in pandas._libs.hashtable.PyObjectHashTable.get_item
  File "pandas\_libs\hashtable_class_helper.pxi", line 1627, in pandas._libs.hashtable.PyObjectHashTable.get_item
KeyError: 'Open'

Appreciate your help.

One minor change will fix this:

df=pd.read_csv('1.txt',index_col=0,parse_dates=True,skipinitialspace=True) 
#                                                   ^^^^^^^^^^^^^^^^^^^^^

This keyword argument exists because CSV files may or may not have spaces after each entry.

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM