Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图。 Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用。
matplotlib.dates.AutoDateFormatter
matplotlib.dates.AutoDateFormatter类用于确定用于日期的最佳格式。最好与AutoDateLocator一起使用。它有一个字典,它映射刻度线的刻度和格式字符串。默认情况下,它如下所示:
self.scaled = {
DAYS_PER_YEAR:rcParams[‘date.autoformat.year’],
DAYS_PER_MONTH:rcParams[‘date.autoformat.month’],
1.0:rcParams[‘date.autoformat.day’],
1. / HOURS_PER_DAY:rcParams[‘date.autoformat.hour’],
1. / (MINUTES_PER_DAY):rcParams[‘date.autoformat.minute’],
1. / (SEC_PER_DAY):rcParams[‘date.autoformat.second’],
1. / (MUSECONDS_PER_DAY):rcParams[‘date.autoformat.microsecond’],
}
该算法选择该词典中大于或等于当前比例的键,并将其用于格式化字符串。该字典也可以如下自定义:
locator = AutoDateLocator() formatter = AutoDateFormatter(locator) # only show hour and minute formatter.scaled[1/(24.*60.)] = '%H:%M'
如果self.scaled中的任何值均不大于所返回的单位,则使用默认格式locator._get_unit()
。
用法: class matplotlib.dates.AutoDateFormatter(locator, tz=None, defaultfmt=’%Y-%m-%d’)
参数:
- locator:在确定日期时确定刻度位置。
- tz:它包含时区信息
- defaultfmt:如果没有格式符合要求,则该格式将以years-months-days格式作为默认格式。
范例1:
import datetime
import matplotlib.pyplot as plt
from matplotlib.dates import AutoDateLocator, AutoDateFormatter, date2num
# make my own data:
date = '2020-02-23'
low = 10
# how to format dates:
date_datetime = datetime.datetime.strptime(date, '% Y-% m-% d')
int_date = date2num( date_datetime)
# create plots:
figure, axes = plt.subplots()
# plot data:
axes.bar(int_date, low, label ="", color ="green")
# format date
locator = AutoDateLocator()
axes.xaxis.set_major_locator(locator)
axes.xaxis.set_major_formatter( AutoDateFormatter(locator) )
# apply autoformatter for displaying of dates
min_date = date2num( datetime.datetime.strptime('2020-02-16', '% Y-% m-% d') )
max_date = date2num( datetime.datetime.strptime('2020-02-28', '% Y-% m-% d') )
axes.set_xlim([min_date, max_date])
figure.autofmt_xdate()
# show plot:
plt.show()
输出:
范例2:
import random
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
# generate some random data for
# approx 5 yrs
random_data = [float(random.randint(1487517521,
14213254713))
for _ in range(1000)]
# convert the epoch format to
# matplotlib date format
mpl_data = mdates.epoch2num(random_data)
# plotting the graph
fig, axes = plt.subplots(1, 1)
axes.hist(mpl_data, bins = 51, color ='green')
locator = mdates.AutoDateLocator()
axes.xaxis.set_major_locator(locator)
axes.xaxis.set_major_formatter(mdates.AutoDateFormatter(locator))
plt.show()
输出:
相关用法
- Python Matplotlib.ticker.MultipleLocator用法及代码示例
- Python Matplotlib.gridspec.GridSpec用法及代码示例
- Python Matplotlib.patches.CirclePolygon用法及代码示例
- Python Matplotlib.colors.Normalize用法及代码示例
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Matplotlib.dates.AutoDateFormatter class in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。