相关疑难解决方法(0)

matplotlib.finance.candlestick_ohlc 绘制日内 1 分钟柱形图数据,每小时都有时间间隔和适当的 xticklabels

问题是:

我想绘制一只股票的日内 1 分钟 OHLC 条形图。每日交易时间由几个交易时段组成。下面列出了:

交易日期:2017/09/14

包含交易时间:2017/09/13 21:00 - 23:00、2017/09/14 9:00 - 10:15、10:30 - 11:30、13:30 - 15:00。

正如你所看到的,如果我直接使用的话candlestick_ohlc,是会有间隙的。

现在,如果我得到 1 分钟的数据作为数据框。如何绘制烛台图,任何柱之间没有间隙(例如,10:15 和 10:30 柱之间没有间隙),并且让 xticklabels 仅显示每小时的主要价格变动,例如 22:00、23: 00、10:00 以及每 15 分钟一次的小滴答声,例如 21:15、21:30、21:45 等。

这是我的数据框 1 个交易日的样子: 在此输入图像描述

您可以在此处生成一些具有类似形式的伪数据:

def generate_pseudo_data():
    # datetime index data
    idx = pd.date_range('2017-09-13 21:01:00',
                        '2017-09-13 23:00:00', freq='1min')
    idx = idx.append(pd.date_range('2017-09-14 09:01:00',
                                   '2017-09-14 10:15:00', freq='1min'))
    idx = idx.append(pd.date_range('2017-09-14 10:31:00',
                                   '2017-09-14 11:30:00', freq='1min'))
    idx = idx.append(pd.date_range('2017-09-14 13:31:00',
                                   '2017-09-14 15:00:00', freq='1min'))

    # OHLC
    inc = np.random.randint(-2, 3, …
Run Code Online (Sandbox Code Playgroud)

python datetime matplotlib candlestick-chart

5
推荐指数
1
解决办法
8279
查看次数

如何在python中绘制烛台

我正在尝试用烛台创建一个简单的图。为此,我从雅虎获取数据并使用功能烛台 2_ohlc 绘制它。目标是使用 jpg 文件导出图像。

这是我正在使用的代码:

from pandas_datareader import data
import matplotlib.pyplot as plt
from mpl_finance import candlestick2_ohlc
import matplotlib.dates as mdates
import fix_yahoo_finance as yf
import datetime

start = datetime.date(2018, 1, 1)
end = datetime.date.today()

aapl = yf.download("AAPL",start,end) 
aapl.reset_index(inplace=True)

aapl['Date'] = aapl.index.map(mdates.date2num)

fig, ax = plt.subplots()
plt.xlabel("Date")
plt.ylabel("Price")

candlestick2_ohlc(ax, aapl.Open, aapl.High, aapl.Low, aapl.Close, width=1, colorup='g')
plt.savefig('my_figure.png')
plt.show()
Run Code Online (Sandbox Code Playgroud)

我的第一个问题是:还有另一种简单的方法吗?你能给我举个例子来处理财务数据吗?我通常在 R 中使用 quantmod。

第二个问题是:在我的示例中,X 轴中没有日期。我该怎么做才能在 X 轴中显示带有日期的图?我应该将 Date 转换为 AX 格式,但我不知道一种简单的方法。

谢谢

python plot finance candlestick-chart

5
推荐指数
3
解决办法
2万
查看次数

matplotlib条形图中的条形宽度不一样?

我试图使用 matplotlib 和 pandas 创建一个条形图,显示美国 COVID-19 病例的每日变化。

  import pandas as pd
  import matplotlib.pyplot as plt

  data = pd.read_csv('https://raw.githubusercontent.com/nytimes/covid-19-data/master/us-counties.csv')
  display(data.head(10))
  df = data.groupby('date').sum()
  df['index'] = range(len(df))
  df['IsChanged'] = df['cases'].diff() 


  df.at['2020-01-21', 'IsChanged'] = 0.0

  x = df['index']
  z = df['IsChanged']

  plt.figure(figsize=(20,10))
  plt.grid(linestyle='--')
  plt.bar(x,z)
  plt.show()
Run Code Online (Sandbox Code Playgroud)

我得到的图表看起来像这样:

图表条形的宽度不均匀。我尝试设置特定的宽度,但这不起作用。有没有办法来解决这个问题?

python matplotlib pandas

2
推荐指数
1
解决办法
1828
查看次数