Matplotlib是Python中令人惊叹的可视化库,用于数组的二维图。 Matplotlib是一个基于NumPy数组的多平台数据可视化库,旨在与更广泛的SciPy堆栈配合使用。
matplotlib.dates.ConciseDateFormatter
这个matplotlib.dates.ConciseDateFormatter
class用于确定用于日期的最佳格式,并使其尽可能紧凑但完整。这通常与AutoDateLocator
。
用法: class matplotlib.dates.ConciseDateFormatter(locator, tz=None, formats=None, offset_formats=None, zero_formats=None, show_offset=True)
参数:
- locator:该参数表示该轴使用的定位器。
- tz:它是一个可选参数,它接受传递给dates.date2num的字符串。
- formats:它是6个字符串的可选列表。它用于格式化6个级别的刻度标签的字符串,格式分别为年,月,日,小时,分钟和秒。这些字符串的格式代码与strftime相同。默认值为[‘%Y’,‘%b’,‘%d’,‘%H:%M’,‘%H:%M’,‘%S.%f’]
- zero_formats:它是6个字符串的可选列表。它用于格式化滴答标签的字符串(对于任何给定的滴答级别为“zero”)。例如,如果大多数刻度是几个月,则在2020年2月1日前后的刻度将标记为“Jan” 2020 “March”。其默认值为[“,'%Y','%b','%b-%d','%H: %M','%H:%M']。
- offset_formats:它是6个字符串的可选列表,用于格式化6个级别的字符串,这些字符串应用于x轴右侧或y轴顶部的“offset”字符串。与打勾标签结合使用时,应完全指定日期。默认值为[“,'%Y','%Y-%b','%Y-%b-%d','%Y-%b-%d','%Y-%b-% d%H:%M']。
- show_offset:它接受一个布尔值,并决定是否显示偏移量。默认情况下,它设置为True。
范例1:
import numpy as np
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
# dummy date
dummy_date = np.arange("2020-04-10",
"2020-05-14",
dtype ="datetime64")
random_x = np.random.rand(len(dummy_date))
figure, axes = plt.subplots()
axes.plot(dummy_date, random_x)
axes.xaxis.set(
major_locator = mdates.AutoDateLocator(minticks = 1,
maxticks = 5),
)
locator = mdates.AutoDateLocator(minticks = 15,
maxticks = 20)
formatter = mdates.ConciseDateFormatter(locator)
axes.xaxis.set_major_locator(locator)
axes.xaxis.set_major_formatter(formatter)
plt.show()
输出:
范例2:
import datetime
import matplotlib.pyplot as plt
import matplotlib.dates as mdates
import numpy as np
dummy_date = datetime.datetime(2020, 2, 1)
# random date generator
dates = np.array([dummy_date + datetime.timedelta(hours =(2 * i))
for i in range(732)])
date_length = len(dates)
np.random.seed(194567801)
y_axis = np.cumsum(np.random.randn(date_length))
lims = [(np.datetime64('2020-02'),
np.datetime64('2020-04')),
(np.datetime64('2020-02-03'),
np.datetime64('2020-02-15')),
(np.datetime64('2020-02-03 11:00'),
np.datetime64('2020-02-04 13:20'))]
figure, axes = plt.subplots(3, 1,
constrained_layout = True,
figsize =(6, 6))
for nn, ax in enumerate(axes):
locator = mdates.AutoDateLocator(minticks = 3, maxticks = 7)
formatter = mdates.ConciseDateFormatter(locator)
ax.xaxis.set_major_locator(locator)
ax.xaxis.set_major_formatter(formatter)
ax.plot(dates, y_axis)
ax.set_xlim(lims[nn])
axes[0].set_title('Concise Date Formatter')
plt.show()
输出:
相关用法
- Python Matplotlib.ticker.MultipleLocator用法及代码示例
- Python Matplotlib.gridspec.GridSpec用法及代码示例
- Python Matplotlib.patches.CirclePolygon用法及代码示例
- Python Matplotlib.colors.Normalize用法及代码示例
注:本文由纯净天空筛选整理自RajuKumar19大神的英文原创作品 Matplotlib.dates.ConciseDateFormatter class in Python。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。