gpt4 book ai didi

python - 如何消除 matplotlib 创建的烛台图表中的差距?

转载 作者:太空宇宙 更新时间:2023-11-04 05:34:40 25 4
gpt4 key购买 nike

stock的数据是这样的:

    date    open    high    low     close   date_ori
53 735999 340.5 340.5 332.5 336.0 2016-02-05
54 736009 330.5 342.0 330.0 339.5 2016-02-15
55 736010 340.5 341.5 337.5 339.0 2016-02-16

从 2016-02-05 到 2016-02-15,有一个日期差距。

然后,我用 matplotlib 创建了一个烛台图表

fig, ax = plt.subplots(figsize=(25, 15), dpi=300)
fig.subplots_adjust(bottom=0.2)
mpf.candlestick_ohlc(ax, quotes, width=0.5, colorup='r', colordown='g')
ax.xaxis_date()
ax.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(), rotation=30)

图表如下: enter image description here

如何消除图表上的缺口,使烛台线连续?

最佳答案

在这里。

    #!/usr/bin/env python
import matplotlib.pyplot as plt
from matplotlib.dates import DateFormatter, WeekdayLocator,\
DayLocator, MONDAY
from matplotlib.finance import quotes_historical_yahoo_ohlc, candlestick_ohlc
import matplotlib.dates as mdates
import datetime as dt

# (Year, month, day) tuples suffice as args for quotes_historical_yahoo
date1 = (2016, 2, 1)
date2 = dt.datetime.today()


mondays = WeekdayLocator(MONDAY) # major ticks on the mondays
alldays = DayLocator() # minor ticks on the days
weekFormatter = DateFormatter('%b %d') # e.g., Jan 12
dayFormatter = DateFormatter('%d') # e.g., 12

quotes = quotes_historical_yahoo_ohlc('INTC', date1, date2)


weekday_quotes = [tuple([i]+list(quote[1:])) for i,quote in enumerate(quotes)] #####

print weekday_quotes




if len(quotes) == 0:
raise SystemExit

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.2)
ax.xaxis.set_major_locator(mondays)
ax.xaxis.set_minor_locator(alldays)
ax.xaxis.set_major_formatter(weekFormatter)
ax.xaxis.set_minor_formatter(dayFormatter)

#plot_day_summary(ax, quotes, ticksize=3)
candlestick_ohlc(ax, weekday_quotes, width=0.6) ####
#candlestick_ohlc(ax, quotes, width=0.6) ####



ax.set_xticks(range(0,len(weekday_quotes),5))####
ax.set_xticklabels([mdates.num2date(quotes[index][0]).strftime('%b-%d') for index in ax.get_xticks()])####

ax.xaxis_date()
ax.autoscale_view()
plt.setp(plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')

plt.show()

关于python - 如何消除 matplotlib 创建的烛台图表中的差距?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35991149/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com