gpt4 book ai didi

python - 使用 Pandas 和 Matplotlib 绘制 Candlestick_OHLC 一分钟柱线图

转载 作者:太空狗 更新时间:2023-10-30 01:50:22 24 4
gpt4 key购买 nike

给定以下 Pandas 数据框示例

                    date    open    high     low   close    volume
0 2015-03-13 08:00:00 71.602 71.637 71.427 71.539 0.000249
1 2015-03-13 08:01:00 71.541 71.563 71.461 71.501 0.000215
2 2015-03-13 08:02:00 71.521 71.537 71.504 71.533 0.000048
3 2015-03-13 08:03:00 71.530 71.530 71.510 71.524 0.000016
4 2015-03-13 08:04:00 71.504 71.578 71.504 71.515 0.000045
5 2015-03-13 08:05:00 71.524 71.581 71.522 71.538 0.000062
6 2015-03-13 08:06:00 71.562 71.621 71.542 71.550 0.000095
7 2015-03-13 08:07:00 71.555 71.576 71.544 71.565 0.000051
8 2015-03-13 08:08:00 71.555 71.566 71.554 71.565 0.000023
9 2015-03-13 08:09:00 71.564 71.564 71.502 71.504 0.000017
10 2015-03-13 08:10:00 71.508 71.549 71.486 71.516 0.000097
11 2015-03-13 08:11:00 71.521 71.523 71.443 71.447 0.000103
12 2015-03-13 08:12:00 71.451 71.496 71.444 71.480 0.000206
13 2015-03-13 08:13:00 71.473 71.485 71.389 71.418 0.000147
14 2015-03-13 08:14:00 71.424 71.442 71.394 71.398 0.000107
15 2015-03-13 08:15:00 71.393 71.415 71.350 71.356 0.000141
16 2015-03-13 08:16:00 71.377 71.463 71.366 71.436 0.000142
17 2015-03-13 08:17:00 71.428 71.467 71.391 71.440 0.000091
18 2015-03-13 08:18:00 71.357 71.450 71.353 71.420 0.000147
19 2015-03-13 08:19:00 71.420 71.476 71.415 71.439 0.000062
20 2015-03-13 08:20:00 71.443 71.471 71.403 71.435 0.000196
21 2015-03-13 08:21:00 71.442 71.475 71.425 71.469 0.000032

如何绘制在 x 轴上显示分钟时间范围的一分钟烛台 OHLC 条?

我试过了,还是不行

df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
df = df.reset_index()
f1 = plt.subplot2grid((6, 4), (1, 0), rowspan=6, colspan=4, axisbg='#07000d')
f1.xaxis.set_major_formatter(mdates.DateFormatter('%y-%m-%d %H:%M:%S'))
candlestick_ohlc(f1, df.values, width=.6, colorup='#53c156', colordown='#ff1717')
plt.ylabel('Stock Price')
plt.xlabel('Date Hours:Minutes')
plt.show()

最佳答案

注意:matplotlib.finance 已从 mpl 中取出并移入其自己的模块中。 mplfinance 现在可以找到 here .

您需要将日期转换为 mdates.date2num,因为

time must be in float days format - see date2num

然后我尝试执行 this solution :

import pandas as pd

import matplotlib.pyplot as plt
from matplotlib.finance import candlestick_ohlc
import matplotlib.dates as mdates

#if necessary convert to datetime
df.date = pd.to_datetime(df.date)

df = df[['date', 'open', 'high', 'low', 'close', 'volume']]
df["date"] = df["date"].apply(mdates.date2num)

f1 = plt.subplot2grid((6, 4), (1, 0), rowspan=6, colspan=4, axisbg='#07000d')
candlestick_ohlc(f1, df.values, width=.6, colorup='#53c156', colordown='#ff1717')
f1.xaxis_date()
f1.xaxis.set_major_formatter(mdates.DateFormatter('%y-%m-%d %H:%M:%S'))

plt.xticks(rotation=45)
plt.ylabel('Stock Price')
plt.xlabel('Date Hours:Minutes')
plt.show()

关于python - 使用 Pandas 和 Matplotlib 绘制 Candlestick_OHLC 一分钟柱线图,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41821916/

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