本文整理汇总了Python中matplotlib.dates.WeekdayLocator方法的典型用法代码示例。如果您正苦于以下问题:Python dates.WeekdayLocator方法的具体用法?Python dates.WeekdayLocator怎么用?Python dates.WeekdayLocator使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类matplotlib.dates
的用法示例。
在下文中一共展示了dates.WeekdayLocator方法的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Python代码示例。
示例1: apply_date_formatting_to_axis
# 需要导入模块: from matplotlib import dates [as 别名]
# 或者: from matplotlib.dates import WeekdayLocator [as 别名]
def apply_date_formatting_to_axis(ax):
""" Format x-axis of input plot to a readable date format """
ax.xaxis.set_minor_locator(dates.WeekdayLocator(byweekday=(0), interval=1))
ax.xaxis.set_minor_formatter(dates.DateFormatter('%d\n%a'))
ax.xaxis.grid(True, which="minor")
ax.yaxis.grid()
ax.xaxis.set_major_locator(dates.MonthLocator())
ax.xaxis.set_major_formatter(dates.DateFormatter('\n\n\n%b\n%Y'))
return ax
示例2: PlotScalerDateAdjust
# 需要导入模块: from matplotlib import dates [as 别名]
# 或者: from matplotlib.dates import WeekdayLocator [as 别名]
def PlotScalerDateAdjust(minDate:datetime, maxDate:datetime, ax):
if type(minDate)==str:
daysInGraph = DateDiffDays(minDate,maxDate)
else:
daysInGraph = (maxDate-minDate).days
if daysInGraph >= 365*3:
majorlocator = mdates.YearLocator()
minorLocator = mdates.MonthLocator()
majorFormatter = mdates.DateFormatter('%m/%d/%Y')
elif daysInGraph >= 365:
majorlocator = mdates.MonthLocator()
minorLocator = mdates.WeekdayLocator()
majorFormatter = mdates.DateFormatter('%m/%d/%Y')
elif daysInGraph < 90:
majorlocator = mdates.DayLocator()
minorLocator = mdates.DayLocator()
majorFormatter = mdates.DateFormatter('%m/%d/%Y')
else:
majorlocator = mdates.WeekdayLocator()
minorLocator = mdates.DayLocator()
majorFormatter = mdates.DateFormatter('%m/%d/%Y')
ax.xaxis.set_major_locator(majorlocator)
ax.xaxis.set_major_formatter(majorFormatter)
ax.xaxis.set_minor_locator(minorLocator)
#ax.xaxis.set_minor_formatter(daysFmt)
ax.set_xlim(minDate, maxDate)
示例3: getDatasForOneRouteForOneDepartureDate
# 需要导入模块: from matplotlib import dates [as 别名]
# 或者: from matplotlib.dates import WeekdayLocator [as 别名]
def getDatasForOneRouteForOneDepartureDate(route, departureDate):
X = getOneRouteData(datas, route)
minDeparture = np.amin(X[:,8])
maxDeparture = np.amax(X[:,8])
print minDeparture
print maxDeparture
# get specific departure date datas
X = X[np.where(X[:, 8]==departureDate)[0], :]
# get the x values
xaxis = X[:,9] # observed date state
print xaxis
xaxis = departureDate-1-xaxis
print xaxis
tmp = xaxis
startdate = "20151109"
xaxis = [pd.to_datetime(startdate) + pd.DateOffset(days=state) for state in tmp]
print xaxis
# get the y values
yaxis = X[:,12]
# every monday
mondays = WeekdayLocator(MONDAY)
# every 3rd month
months = MonthLocator(range(1, 13), bymonthday=1, interval=01)
days = WeekdayLocator(byweekday=1, interval=2)
monthsFmt = DateFormatter("%b. %d, %Y")
fig, ax = plt.subplots()
ax.plot_date(xaxis, yaxis, 'r--')
ax.plot_date(xaxis, yaxis, 'bo')
ax.xaxis.set_major_locator(days)
ax.xaxis.set_major_formatter(monthsFmt)
#ax.xaxis.set_minor_locator(mondays)
ax.autoscale_view()
#ax.xaxis.grid(False, 'major')
#ax.xaxis.grid(True, 'minor')
ax.grid(True)
plt.xlabel('Date')
plt.ylabel('Price in Euro')
fig.autofmt_xdate()
plt.show()
"""
# plot
line1, = plt.plot(xaxis, yaxis, 'r--')
line2, = plt.plot(xaxis, yaxis, 'bo')
#plt.legend([line2], ["Price"])
plt.xlabel('States')
plt.ylabel('Price in Euro')
plt.show()
"""
示例4: plot_backtest
# 需要导入模块: from matplotlib import dates [as 别名]
# 或者: from matplotlib.dates import WeekdayLocator [as 别名]
def plot_backtest(config, algos, labels=None):
"""
@:param config: config dictionary
@:param algos: list of strings representing the name of algorithms or index of pgportfolio result
"""
results = []
for i, algo in enumerate(algos):
if algo.isdigit():
results.append(np.cumprod(_load_from_summary(algo, config)))
logging.info("load index "+algo+" from csv file")
else:
logging.info("start executing "+algo)
results.append(np.cumprod(execute_backtest(algo, config)))
logging.info("finish executing "+algo)
start, end = _extract_test(config)
timestamps = np.linspace(start, end, len(results[0]))
dates = [datetime.datetime.fromtimestamp(int(ts)-int(ts)%config["input"]["global_period"])
for ts in timestamps]
weeks = mdates.WeekdayLocator()
days = mdates.DayLocator()
rc("font", **{"family": "sans-serif", "sans-serif": ["Helvetica"],
"size": 8})
"""
styles = [("-", None), ("--", None), ("", "+"), (":", None),
("", "o"), ("", "v"), ("", "*")]
"""
fig, ax = plt.subplots()
fig.set_size_inches(9, 5)
for i, pvs in enumerate(results):
if len(labels) > i:
label = labels[i]
else:
label = NAMES[algos[i]]
ax.semilogy(dates, pvs, linewidth=1, label=label)
#ax.plot(dates, pvs, linewidth=1, label=label)
plt.ylabel("portfolio value $p_t/p_0$", fontsize=12)
plt.xlabel("time", fontsize=12)
xfmt = mdates.DateFormatter("%m-%d %H:%M")
ax.xaxis.set_major_locator(weeks)
ax.xaxis.set_minor_locator(days)
datemin = dates[0]
datemax = dates[-1]
ax.set_xlim(datemin, datemax)
ax.xaxis.set_major_formatter(xfmt)
plt.grid(True)
plt.tight_layout()
ax.legend(loc="upper left", prop={"size":10})
fig.autofmt_xdate()
plt.savefig("result.eps", bbox_inches='tight',
pad_inches=0)
plt.show()