matplotlib以固定的x轴间隔绘制所有每日烛台和移动平均线

时间:2019-12-31 04:06:38

标签: python matplotlib plot

使用matplotlib和mpl_finance绘制烛台。数据在csv AAPL中。

在下面两个使用相同代码的图上,当添加MA(移动平均线)时,与MA20相比,60MA产生不同数量的烛台。

MA60似乎不每天使用棍棒,而是每周一次?

此外,我想将x轴间隔设置为每5天。但似乎此行不起作用:

ax1.set_xticks(np.arange(len(data)), 5.0)

在添加不同的MA(如何添加MA的情况下,是否有相同数量的棍子)以及在X轴上每5天正确的间隔时间,我如何显示所有的每日棍子?

谢谢。

enter image description here

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt
from mpl_finance import candlestick2_ohlc

data = pd.read_csv('C:\\AAPL.csv', delimiter = "\t")
data = data.head(100)

fig = plt.figure(figsize=(6,3))
plt.ylim(100, 200)
ax1 = fig.add_subplot(111)
ax2 = fig.add_subplot(111)

data['MA60'] = data['Close'].rolling(window=60).mean()
# or: data['MA20'] = data['Close'].rolling(window=20).mean()

cl =candlestick2_ohlc(ax=ax1,opens=data['Open'],
highs=data['High'],lows=data['Low'],
closes=data['Close'],width=0.6, colorup='#77d879', 
colordown='#db3f3f')

ax1.set_xticks(np.arange(len(data)), 5.0)
ax1.set_xticklabels(data['Date'], fontsize=10, rotation=0)
ax2.plot(data.Date, data['MA60'], label='MA_60', linewidth = 0.5)
# or: ax2.plot(data.Date, data['MA20'], label='MA_20', linewidth = 0.5)

loc = plticker.MultipleLocator(base=20.0) # this locator puts ticks at regular intervals
ax1.xaxis.set_major_locator(loc)

plt.savefig('C:\\MA60.png', dpi = 96)

0 个答案:

没有答案