1

我正在使用 mplfinance 包来绘制股票的烛台图。我目前正在尝试弄清楚如何更改 mplfinance 中卷的格式。在包提供的所有示例中,在我自己的图表中,音量以奇怪的符号出现,如 1e23 等。我希望我的音量能够反映 pandas 数据框中实际内容的数值。我自己交易,当我在实际交易平台上的任何地方查看图表时,它显示正常,它实际上显示了交易量。但是当我在网上查看 matplotlib、pandas、mplfinance 示例时,到处都以一种奇怪的方式格式化了这些符号。

我所说的例子

4

2 回答 2

1

或者,不以科学计数法显示体积,而是保持原始值(未按比例缩小)......使用与@r-beginners 的答案相同的数据/代码......

fig, axlist = mpf.plot(daily,type='candle',volume=True,
                       title='\nS&P 500, Nov 2019',
                       ylabel='OHLC Candles',
                       ylabel_lower='Shares\nTraded',
                       returnfig=True)

import matplotlib.ticker as mticker
axlist[2].yaxis.set_major_formatter(mticker.FormatStrFormatter('%d'))
mpf.show()

结果: 在此处输入图像描述

从理论上讲,增强 mplfinance 接受用于形成轴标签的 kwarg 相对容易;但现在上述方法将起作用。

于 2020-09-24T16:44:42.250 回答
-1

体积符号会根据体积的大小自动采用指数形式,因此如果要避免这种情况,可以通过使用单位数据使原始数据更小来避免这种情况。以下示例显示了如何通过除以 100 万来处理此问题。此数据取自官网

daily['Volume'] = daily['Volume'] / 1000000

我们就是这样回应的。

%matplotlib inline
import pandas as pd

daily = pd.read_csv('data/SP500_NOV2019_Hist.csv',index_col=0,parse_dates=True)
daily['Volume'] = daily['Volume'] / 1000000

import mplfinance as mpf

mpf.plot(daily,type='candle',volume=True,
         title='\nS&P 500, Nov 2019',
         ylabel='OHLC Candles',
         ylabel_lower='Shares\nTraded')

在此处输入图像描述

正常输出示例

在此处输入图像描述

于 2020-09-16T13:30:57.433 回答