Closed. This question needs to be more focused 。它目前不接受答案。
想改善这个问题吗?更新问题,使其仅通过 editing this post 关注一个问题。
7年前关闭。
Improve this question
我想在 Matplotlib 上创建一个烛台图。我在网上找到了很多例子,但到目前为止,它们都使用与雅虎财经或其他类型数据的连接,但没有很好地解释当你有一个包含日期、打开、收盘价,高价和低价。事实上,通常情况下,您已经拥有历史值或估计值,或者更一般地说,您只是不想使用来自 Yahoo Finance 等提供商的数字。我想知道的是非常基本的代码,用于创建带有您自己的值列表的烛台图表。假设我有一个包含两天所需的所有数据的元组列表:
我应该准确编码什么才能获得带有这两个数据点的烛台图(这意味着列表“价格”的每个元素都在创建烛台的图)?我当然可以操作数据(例如要在浮点日转换的日期字符串等),但我无法获得创建图表的简单命令。任何人都可以帮忙吗?
想改善这个问题吗?更新问题,使其仅通过 editing this post 关注一个问题。
7年前关闭。
Improve this question
我想在 Matplotlib 上创建一个烛台图。我在网上找到了很多例子,但到目前为止,它们都使用与雅虎财经或其他类型数据的连接,但没有很好地解释当你有一个包含日期、打开、收盘价,高价和低价。事实上,通常情况下,您已经拥有历史值或估计值,或者更一般地说,您只是不想使用来自 Yahoo Finance 等提供商的数字。我想知道的是非常基本的代码,用于创建带有您自己的值列表的烛台图表。假设我有一个包含两天所需的所有数据的元组列表:
Prices = [('01/01/2010', 1.123 (open), 1.212 (close), 1.463 (high), 1.056(low)),
('02/01/2010', 1.121 (open), 1.216 (close), 1.498 (high), 1.002(low))]
我应该准确编码什么才能获得带有这两个数据点的烛台图(这意味着列表“价格”的每个元素都在创建烛台的图)?我当然可以操作数据(例如要在浮点日转换的日期字符串等),但我无法获得创建图表的简单命令。任何人都可以帮忙吗?
最佳答案
在 matplotlib example 之后,我得到了以下解决方案:
from pylab import *
import matplotlib.pyplot as plt
from datetime import datetime
import time
from matplotlib.dates import DateFormatter, WeekdayLocator, HourLocator, \
DayLocator, MONDAY
from matplotlib.finance import candlestick,\
plot_day_summary, candlestick2
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
#starting from dates expressed as strings...
Date1 = '01/01/2010'
Date2 = '02/01/2010'
#...you convert them in float numbers....
Date1 = date2num(datetime.strptime(Date1, "%d/%m/%Y"))
Date2 = date2num(datetime.strptime(Date2, "%d/%m/%Y"))
#so redefining the Prices list of tuples...
Prices = [(Date1, 1.123, 1.212, 1.463, 1.056), (Date2,1.121, 1.216, 1.498, 1.002)]
#and then following the official example.
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)
candlestick(ax, Prices, width=0.6)
ax.xaxis_date()
ax.autoscale_view()
plt.setp( plt.gca().get_xticklabels(), rotation=45, horizontalalignment='right')
plt.show()
关于python - 如何使用 Matplotlib (Python 2.7) 和您自己的数据创建烛台图,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21111769/
10-13 07:21