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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。