У меня следующий подсвечник участок. Я хочу сделать его прокручиваемым, чтобы я мог видеть больше деталей. Нынешний сюжет слишком длинный, чтобы увидеть подробности. я нашел примеры для создания сюжетной линии прокручивать на здесь: Matplotlib: scrolling plotКак сделать прокручивающийся сюжет канделябра в Python?
Однако обновление светильника кажется гораздо сложнее, чем обновление строки диаграммы. Подсвечник возвращает линии и патчи. Вы можете помочь?
from pandas.io.data import get_data_yahoo
import matplotlib.pyplot as plt
from matplotlib import dates as mdates
from matplotlib import ticker as mticker
from matplotlib.finance import candlestick_ohlc
import datetime as dt
symbol = "GOOG"
data = get_data_yahoo(symbol, start = '2011-9-01', end = '2015-10-23')
data.reset_index(inplace=True)
data['Date']=mdates.date2num(data['Date'].astype(dt.date))
fig = plt.figure()
ax1 = plt.subplot2grid((1,1),(0,0))
plt.title('How to make it scrollable')
plt.ylabel('Price')
ax1.xaxis.set_major_locator(mticker.MaxNLocator(6))
ax1.xaxis.set_major_formatter(mdates.DateFormatter('%Y-%m-%d'))
candlestick_ohlc(ax1,data.values,width=0.2)
Спасибо! Не могли бы вы объяснить spos = Slider (axpos, 'Position', datetime.date (* date1) .toordinal(), datetime.date (* date2) .toordinal()), почему вы ставите '*' там и почему нам нужно '.tordinal()'? Связано ли это с функцией 'update'? – Lisa
Рад, что я мог бы помочь. Оператор * должен распаковать кортеж 'date1' и' date2' в аргументы конструктора 'datetime.date' здесь. Https://docs.python.org/3/tutorial/controlflow.html#unpacking-argument-lists , И виджет 'Slider' может управлять только числами, он не может обрабатывать объекты' datetime.date', метод toordinal() 'преобразует дату в число секунд с эпохи, что удобно также в позе в осях, где наши данные строятся. В зависимости от вашей версии matplotlib вы можете увидеть этот номер справа от ползунка. –
Также проверьте документацию «Slider», чтобы вы могли видеть порядок аргументов http://matplotlib.org/1.3.1/api/widgets_api.html#matplotlib.widgets.Slider –