我正在尝试使用Matplotlib绘制烛台图表,以及我为REST API调用获取的数据.但是,由于调用使用了唯一的访问令牌,因此我已下载了一个示例数据并将其加载到csv中以用于此问题. Here is a pastebin link到样本数据的样子.要在Python中处理数据,我使用Pandas来创建数据帧.这是我的代码的样子:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.ticker as mticker
import matplotlib.dates as mdates
from matplotlib.finance import candlestick_ohlc
from datetime import date
""" Pandas """
historic_df = pd.read_csv("sample_data.csv")
dates = pd.to_datetime(historic_df['time'], format="%Y-%m-%dT%H:%M:%s.%fZ")
openp = historic_df['openAsk']
highp = historic_df['highAsk']
lowp = historic_df['lowAsk']
closep = historic_df['closeAsk']
""" Matplotlib """
ax1 = plt.subplot2grid((1,1), (0,0))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%s'))
x = 0
ohlc = []
while x < len(dates):
d = mdates.date2num(dates[x])
append_me = d, openp.values[x], highp.values[x], lowp.values[x], closep.values[x]
ohlc.append(append_me)
x += 1
candlestick_ohlc(ax1, ohlc, width=0.4, colorup='#77d879', colordown='#db3f3f')
plt.show()
以下是我的输出结果:
您可以为烛台制作垂直线条,但条形图看起来非常宽.关于如何解决这个问题的任何想法?谢谢.
解决方法:
只需更改图表上的宽度就可以了:
candlestick_ohlc(ax1,ohlc,width = 0.001,colorup =’#77d879′,colordown =’#db3f3f’)
使用您的数据进行测试,看起来不错.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。