matplotlib.dates#

matplotlib.dates의 상속 다이어그램

datetimeMatplotlib는 Python 및 애드온 모듈 dateutil 의 어깨에 서서 정교한 날짜 플로팅 기능을 제공합니다 .

기본적으로 Matplotlib는 에 설명된 단위 기계를 사용 하여 x축 또는 y축에 플롯할 때 개체 를 units변환 합니다. 사용자는 날짜 형식을 지정하기 위해 아무 것도 할 필요가 없지만 날짜는 종종 엄격한 형식 지정이 필요하므로 이 모듈은 많은 축 로케이터와 형식기를 제공합니다. 사용하는 기본적인 예 는 다음과 같습니다.datetime.datetimenumpy.datetime64numpy.datetime64

import numpy as np

times = np.arange(np.datetime64('2001-01-02'),
                  np.datetime64('2002-02-03'), np.timedelta64(75, 'm'))
y = np.random.randn(len(times))

fig, ax = plt.subplots()
ax.plot(times, y)

Matplotlib 날짜 형식 #

Matplotlib는 1970-01-01 UTC의 기본 시대 이후 일 수를 지정하는 부동 소수점 숫자를 사용하여 날짜를 나타냅니다. 예를 들어 1970-01-01, 06:00은 부동 소수점 숫자 0.25입니다. 포맷터와 로케이터는 개체를 사용해야 datetime.datetime하므로 0001년에서 9999년 사이의 날짜만 나타낼 수 있습니다. 마이크로초 정밀도는 epoch의 양쪽에서 (대략) 70년 동안 달성할 수 있고 나머지 허용 가능한 날짜 범위(0001년에서 9999년)에 대해 20마이크로초 동안 달성할 수 있습니다. 에포크는 필요한 경우 가져올 때 dates.set_epoch또는 rcParams["dates.epoch"]다른 날짜로 변경할 수 있습니다. 자세한 내용은 Date Precision and Epochs 를 참조하십시오.

메모

Matplotlib 3.3 이전에는 에포크가 0000-12-31이었는데, 이는 최신 마이크로초 정밀도를 잃었고 기본 축 제한 0을 유효하지 않은 날짜/시간으로 만들었습니다. 3.3에서는 에포크가 위와 같이 변경되었습니다. 이전 서수 부동 소수점을 새 시대로 변환하려면 사용자가 다음을 수행할 수 있습니다.

new_ordinal = old_ordinal + mdates.date2num(np.datetime64('0000-12-31'))

datetime 개체와 Matplotlib 날짜 간에 변환하는 여러 도우미 함수가 있습니다.

datestr2num

를 사용하여 날짜 문자열을 datenum으로 변환합니다 dateutil.parser.parse.

date2num

datetime 객체를 Matplotlib 날짜로 변환합니다.

num2date

Matplotlib 날짜를 datetime객체로 변환합니다.

num2timedelta

일 수를 timedelta개체로 변환합니다.

drange

균일한 간격의 Matplotlib 날짜 시퀀스를 반환합니다.

set_epoch

datetime 계산을 위한 epoch(날짜의 시작)를 설정합니다.

get_epoch

에서 사용하는 시대를 가져옵니다 dates.

메모

Python과 마찬가지로 datetime.datetimeMatplotlib는 날짜와 부동 소수점 숫자 간의 모든 변환에 그레고리력을 사용합니다. 이 관행은 보편적이지 않으며 달력 차이로 인해 Python 및 Matplotlib에서 0001-01-01 이후의 일 수로 제공하는 것과 다른 소프트웨어 및 데이터베이스가 산출하는 것 사이에 혼란스러운 차이가 발생할 수 있습니다. 예를 들어, 미 해군 천문대는 1582년 10월에 줄리안에서 그레고리력으로 전환하는 달력을 사용합니다. 따라서 계산기를 사용하여 0001-01-01과 2006-04-01 사이의 날짜 수는 732403입니다. 우리가 찾은 datetime 모듈을 통한 달력:

In [1]: date(2006, 4, 1).toordinal() - date(1, 1, 1).toordinal()
Out[1]: 732401

모든 Matplotlib 날짜 변환기, 티커 및 포맷터는 시간대를 인식합니다. 명시적인 시간대가 제공되지 않으면 rcParams["timezone"](기본값: 'UTC')이 가정되고 문자열로 제공됩니다. 다른 시간대를 사용 하려면 생성한 날짜 티커 또는 로케이터 에 tz 키워드 인수를 전달하십시오. num2date에서 구문 분석할 수 있는 시간대 이름이 있는 datetime.tzinfo인스턴스 또는 문자열일 수 있습니다 gettz.

이 모듈에서는 광범위한 특정 및 범용 날짜 눈금 로케이터 및 포맷터를 제공합니다. matplotlib.ticker틱 로케이터 및 포매터에 대한 일반 정보는 참조하십시오 . 아래에 설명되어 있습니다.

dateutil 모듈 은 날짜 틱을 처리하는 추가 코드를 제공하여 모든 종류의 날짜에 틱을 쉽게 배치할 수 있도록 합니다. 아래 예를 참조하십시오.

날짜 표시기 #

대부분의 날짜 티커는 단일 또는 다중 값을 찾을 수 있습니다. 예를 들어:

# import constants for the days of the week
from matplotlib.dates import MO, TU, WE, TH, FR, SA, SU

# tick on mondays every week
loc = WeekdayLocator(byweekday=MO, tz=tz)

# tick on mondays and saturdays
loc = WeekdayLocator(byweekday=(MO, SA))

또한 대부분의 생성자는 간격 인수를 사용합니다.

# tick on mondays every second week
loc = WeekdayLocator(byweekday=MO, interval=2)

rrule 로케이터는 완전히 일반적인 날짜 표시를 허용합니다.

# tick every 5th easter
rule = rrulewrapper(YEARLY, byeaster=1, interval=5)
loc = RRuleLocator(rule)

사용 가능한 날짜 티커는 다음과 같습니다.

날짜 포맷터 #

사용 가능한 날짜 포맷터는 다음과 같습니다.

  • AutoDateFormatter: 사용할 최상의 형식을 파악하려고 시도합니다. 와 함께 사용할 때 가장 유용합니다 AutoDateLocator.

  • ConciseDateFormatter: 또한 사용할 최상의 형식을 파악하고 완전한 날짜 정보를 유지하면서 형식을 가능한 한 간결하게 만들려고 시도합니다. 와 함께 사용할 때 가장 유용합니다 AutoDateLocator.

  • DateFormatter: strftime형식 문자열을 사용합니다.

클래스 matplotlib.dates. AutoDateFormatter ( locator , tz = None , defaultfmt = '%Y-%m-%d' , * , usetex = None ) [출처] #

베이스:Formatter

Formatter사용할 최상의 형식을 파악하려고 시도하는 A. 와 함께 사용할 때 가장 유용합니다 AutoDateLocator.

AutoDateFormatter.scale틱 스케일(주요 틱 사이의 일수 간격)을 형식 문자열에 매핑 하는 사전이 있습니다. 이 사전의 기본값은

self.scaled = {
    DAYS_PER_YEAR: rcParams['date.autoformatter.year'],
    DAYS_PER_MONTH: rcParams['date.autoformatter.month'],
    1: rcParams['date.autoformatter.day'],
    1 / HOURS_PER_DAY: rcParams['date.autoformatter.hour'],
    1 / MINUTES_PER_DAY: rcParams['date.autoformatter.minute'],
    1 / SEC_PER_DAY: rcParams['date.autoformatter.second'],
    1 / MUSECONDS_PER_DAY: rcParams['date.autoformatter.microsecond'],
}

포맷터는 현재 스케일보다 크거나 같은 사전의 가장 낮은 키에 해당하는 형식 문자열을 사용합니다. 사전 항목을 사용자 정의할 수 있습니다.

locator = AutoDateLocator()
formatter = AutoDateFormatter(locator)
formatter.scaled[1/(24*60)] = '%M:%S' # only show min and sec

형식 문자열 대신 사용자 지정 콜러블을 사용할 수도 있습니다. 다음 예제는 사용자 지정 형식 함수를 사용하여 십진수 초에서 후행 0을 제거하고 첫 번째 눈금 레이블에 날짜를 추가하는 방법을 보여줍니다.

def my_format_function(x, pos=None):
    x = matplotlib.dates.num2date(x)
    if pos == 0:
        fmt = '%D %H:%M:%S.%f'
    else:
        fmt = '%H:%M:%S.%f'
    label = x.strftime(fmt)
    label = label.rstrip("0")
    label = label.rstrip(".")
    return label

formatter.scaled[1/(24*60)] = my_format_function

날짜 레이블을 자동으로 포맷합니다.

매개변수 :
토지 경계 설정자ticker.Locator

이 축이 사용 중인 로케이터입니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

defaultfmt 문자열

self.scaled 의 값 중 에서 반환된 단위보다 큰 값이 없는 경우 사용할 기본 형식 locator._get_unit()입니다.

유텍스 부울, 기본값: rcParams["text.usetex"](기본값: False)

포맷터의 결과를 렌더링하기 위해 TeX의 수학 모드 사용을 활성화/비활성화합니다. 항목 self.scaled이 함수로 설정된 경우 TeX의 수학 모드 자체를 활성화 또는 비활성화하는 것은 사용자 정의된 함수에 달려 있습니다.

클래스 matplotlib.dates. AutoDateLocator ( tz = 없음 , minticks = 5 , maxticks = 없음 , interval_multiples = True ) [출처] #

베이스:DateLocator

자동 크기 조정에서 이 클래스는 DateLocator보기 제한 및 눈금 위치를 설정하는 데 가장 적합한 것을 선택합니다.

속성 :
인터벌 딕셔너리

해당 틱에 허용되는 배수에 대한 틱 주파수 매핑. 기본값은

self.intervald = {
    YEARLY  : [1, 2, 4, 5, 10, 20, 40, 50, 100, 200, 400, 500,
               1000, 2000, 4000, 5000, 10000],
    MONTHLY : [1, 2, 3, 4, 6],
    DAILY   : [1, 2, 3, 7, 14, 21],
    HOURLY  : [1, 2, 3, 4, 6, 12],
    MINUTELY: [1, 5, 10, 15, 30],
    SECONDLY: [1, 5, 10, 15, 30],
    MICROSECONDLY: [1, 2, 5, 10, 20, 50, 100, 200, 500,
                    1000, 2000, 5000, 10000, 20000, 50000,
                    100000, 200000, 500000, 1000000],
}

여기서 키는 에 정의되어 dateutil.rrule있습니다.

간격은 틱 빈도에 적합한 배수를 지정하는 데 사용됩니다. 예를 들어 7일마다는 일일 틱에 적합하지만 분/초의 경우 15 또는 30이 적합합니다.

사용자 정의할 때 기존 키의 값만 수정해야 합니다. 항목을 추가하거나 삭제하면 안 됩니다.

3시간마다 틱을 강제 적용하는 예:

locator = AutoDateLocator()
locator.intervald[HOURLY] = [3]  # only show every 3 hours
매개변수 :
tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

박하 int

원하는 최소 틱 수입니다. 진드기가 매년, 매월 등으로 발생하는지 여부를 제어합니다.

최대값 정수

원하는 최대 틱 수입니다. 틱 사이의 간격을 제어합니다(매 틱, 매 3 등). 세밀한 제어를 위해 개별 규칙 빈도 상수(YEARLY, MONTHLY 등)를 자체 최대 틱 수에 매핑하는 사전이 될 수 있습니다. 에서 선택한 형식에 적합한 틱 수를 유지하는 데 사용할 수 있습니다 AutoDateFormatter. 이 사전에 지정되지 않은 모든 빈도에는 기본값이 제공됩니다.

interval_multiples 부울, 기본값: 참

틱을 간격의 배수로 선택하여 '더 좋은' 위치에 고정해야 하는지 여부입니다. 예를 들어, 6시간 간격으로 시간별 틱이 수행될 때 틱이 0, 6, 12, 18시에 강제로 표시됩니다.

get_locator ( dmin , dmax ) [소스] #

거리를 기준으로 최상의 로케이터를 선택합니다.

비 특이 ( vmin , vmax ) [소스] #

제안된 상한 및 하한 범위가 주어지면 범위가 특이점에 너무 가깝다면(예: ~0 범위) 범위를 조정하십시오.

tick_values ​​( vmin , vmax ) [소스] #

주어진 vminvmax 에서 찾은 틱의 값을 반환합니다 .

메모

관련 항목에 대해 자동으로 정의된 vmin 및 vmax 값으로 틱 위치를 얻으려면 axisLocator 인스턴스를 호출하기만 하면 됩니다.

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
클래스 matplotlib.dates. ConciseDateConverter ( 형식 = 없음 , zero_formats = 없음 , offset_formats = 없음 , show_offset = True , * , interval_multiples = True ) [소스] #

베이스:DateConverter

axisinfo ( 단위 , ) [소스] #

AxisInfofor 단위 를 반환합니다 .

단위 는 tzinfo 인스턴스 또는 없음입니다. 인수가 필요하지만 사용되지는 않습니다 .

클래스 matplotlib.dates. ConciseDateFormatter ( 로케이터 , tz = 없음 , 형식 = 없음 , offset_formats = 없음 , zero_formats = 없음 , show_offset = True , * , usetex = 없음 ) [소스] #

베이스:Formatter

A Formatter는 날짜에 사용할 최상의 형식을 파악하고 가능한 한 간결하게 만들지만 여전히 완전합니다. 이는 다음과 함께 사용할 때 가장 유용합니다 AutoDateLocator.

>>> locator = AutoDateLocator()
>>> formatter = ConciseDateFormatter(locator)
매개변수 :
토지 경계 설정자ticker.Locator

이 축이 사용 중인 로케이터입니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

Ticks 시간대, 에 전달됨 dates.num2date.

6개 문자열의 형식 목록, 선택 사항

눈금 레이블의 6개 수준에 대한 형식 문자열: 주로 연도, 월, 일, 시, 분, 초. 문자열은 와 동일한 형식 코드를 사용합니다 strftime. 기본값은 ['%Y', '%b', '%d', '%H:%M', '%H:%M', '%S.%f']

6개 문자열의 zero_formats 목록, 선택 사항

주어진 눈금 수준에 대해 "0"인 눈금 레이블의 문자열을 포맷합니다. 예를 들어, 대부분의 진드기가 월인 경우 2005년 1월 1일경의 진드기는 "Dec", "2005", "Feb"로 레이블이 지정됩니다. 기본값은 ['', '%Y', '%b', '%b-%d', '%H:%M', '%H:%M']

offset_formats 6개 문자열 목록, 선택 사항

x축 오른쪽 또는 y축 상단에 있는 "오프셋" 문자열에 적용되는 6개 수준에 대한 형식 문자열입니다. 눈금 레이블과 결합하여 날짜를 완전히 지정해야 합니다. 기본값은 다음과 같습니다.

['', '%Y', '%Y-%b', '%Y-%b-%d', '%Y-%b-%d', '%Y-%b-%d %H:%M']
show_offset 부울, 기본값: True

오프셋 표시 여부입니다.

유텍스 부울, 기본값: rcParams["text.usetex"](기본값: False)

포맷터의 결과를 렌더링하기 위해 TeX의 수학 모드 사용을 활성화/비활성화합니다.

ConciseDateFormatter를 사용하여 날짜 눈금 서식 지정을 참조하세요 .

( 소스 코드 , png )

../_images/dates_api-1.png

날짜 레이블을 자동으로 포맷합니다. 기본 형식은 초기 문자열을 형성하는 데 사용되며 중복 요소는 제거됩니다.

format_data_short ( ) [소스] #

눈금 값의 짧은 문자열 버전을 반환합니다.

위치 독립적인 긴 값이 기본값입니다.

format_ticks ( ) [소스] #

모든 눈금에 대한 눈금 레이블을 한 번에 반환합니다.

get_offset ( ) [출처] #
클래스 matplotlib.dates. DateConverter ( * , interval_multiples = True ) [소스] #

베이스:ConversionInterface

datetime.date및 데이터에 대한 변환기 datetime.datetime또는 날짜/시간 데이터에 대한 변환기는 date2num.

이러한 데이터의 'unit' 태그는 None 또는 tzinfo 인스턴스입니다.

axisinfo ( 단위 , ) [소스] #

AxisInfofor 단위 를 반환합니다 .

단위 는 tzinfo 인스턴스 또는 없음입니다. 인수가 필요하지만 사용되지는 않습니다 .

정적 변환 ( , 단위 , ) [소스] #

이 아직 숫자 또는 일련의 숫자가 아닌 경우 로 변환 합니다 date2num.

단위 인수는 사용되지 않습니다 .

정적 default_units ( x , ) [소스] #

x 또는 첫 번째 요소 의 tzinfo 인스턴스를 반환 하거나 None을 반환합니다.

클래스 matplotlib.dates. DateFormatter ( fmt , tz = 없음 , * , usetex = 없음 ) [출처] #

베이스:Formatter

형식 문자열 을 사용하여 눈금(신기원 이후 일 수)을 strftime형식화합니다.

매개변수 :
fmt str

strftime형식 문자열

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

유텍스 부울, 기본값: rcParams["text.usetex"](기본값: False)

포맷터의 결과를 렌더링하기 위해 TeX의 수학 모드 사용을 활성화/비활성화합니다.

set_tzinfo ( tz ) [출처] #
클래스 matplotlib.dates. DateLocator ( tz = 없음 ) [출처] #

베이스:Locator

날짜를 플로팅할 때 눈금 위치를 결정합니다.

이 클래스는 다른 로케이터의 하위 클래스이며 자체적으로 사용하기 위한 것이 아닙니다.

매개변수 :
tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

datalim_to_dt ( ) [출처] #

축 데이터 간격을 datetime 개체로 변환합니다.

hms0d = {'시간별': 0, '분별': 0, '초별': 0} #
비 특이 ( vmin , vmax ) [소스] #

제안된 상한 및 하한 범위가 주어지면 범위가 특이점에 너무 가깝다면(예: ~0 범위) 범위를 조정하십시오.

set_tzinfo ( tz ) [출처] #

시간대 정보를 설정합니다.

매개변수 :
tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

viewlim_to_dt ( ) [출처] #

보기 간격을 datetime 개체로 변환합니다.

클래스 matplotlib.dates. DayLocator ( bymonthday = 없음 , 간격 = 1 , tz = 없음 ) [출처] #

베이스:RRuleLocator

매월 매일 발생하는 틱을 확인합니다. 예: 1, 15, 30.

매개변수 :
bymonthday int 또는 int 목록, 기본값: all days

틱은 bymonthday 의 매일에 배치됩니다 . 기본값은 , 즉 매월 매일입니다.bymonthday=range(1, 32)

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. HourLocator ( byhour = None , interval = 1 , tz = None ) [출처] #

베이스:RRuleLocator

각 시간의 발생에 진드기를 확인합니다.

매개변수 :
byhour int 또는 int 목록, 기본값: 모든 시간

틱은 byhour 에서 매시간 배치됩니다 . 기본값은 byhour=range(24), 즉 매시간입니다.

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. MicrosecondLocator ( 간격 = 1 , tz = 없음 ) [출처] #

베이스:DateLocator

하나 이상의 마이크로초(들)의 일정한 간격으로 틱을 만듭니다.

메모

기본적으로 Matplotlib는 에포크 이후 일 단위의 부동 소수점 표현을 사용하므로 마이크로초 시간 해상도로 데이터를 플로팅하는 것은 에포크에서 멀리(약 70년) 떨어진 날짜에 대해 제대로 작동하지 않습니다( 로 확인 get_epoch).

마이크로초 미만의 분해능 시간 플롯을 원하는 경우 날짜/시간과 같은 시간 표현이 아닌 부동 소수점 초를 사용하는 것이 좋습니다.

실제로 datetime.datetime() 또는 이와 유사한 것을 사용해야 하고 여전히 마이크로초 정밀도가 필요한 경우 dates.set_epoch플롯되는 날짜에 더 가까운 것으로 시간 원점을 변경하십시오. 날짜 정밀도 및 Epochs 를 참조하십시오 .

매개변수 :
간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

set_axis ( ) [소스] #
set_data_interval ( vmin , vmax ) [소스] #

[ 더 이상 사용되지 않음 ]

메모

버전 3.5부터 사용되지 않음: 대신 사용하십시오 Axis.set_data_interval.

set_view_interval ( vmin , vmax ) [소스] #

[ 더 이상 사용되지 않음 ]

메모

버전 3.5부터 사용되지 않음: 대신 사용하십시오 Axis.set_view_interval.

tick_values ​​( vmin , vmax ) [소스] #

주어진 vminvmax 에서 찾은 틱의 값을 반환합니다 .

메모

관련 항목에 대해 자동으로 정의된 vmin 및 vmax 값으로 틱 위치를 얻으려면 axisLocator 인스턴스를 호출하기만 하면 됩니다.

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
클래스 matplotlib.dates. MinuteLocator ( 분 단위 = 없음 , 간격 = 1 , tz = 없음 ) [출처] #

베이스:RRuleLocator

매 분마다 발생하는 틱을 확인합니다.

매개변수 :
byminute int 또는 int 목록, 기본값: 모든 분

틱은 byminutes 에서 매분마다 배치됩니다 . 기본값은 byminute=range(60), 즉 매분입니다.

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. MonthLocator ( bymonth = 없음 , bymonthday = 1 , 간격 = 1 , tz = 없음 ) [출처] #

베이스:RRuleLocator

1, 3, 12와 같이 매월 발생하는 항목에 체크 표시를 합니다.

매개변수 :
bymonth int 또는 int 목록, 기본값: 모든 달

틱은 매월 bymonth 에 배치됩니다 . 기본값은 , 즉 매월입니다.range(1, 13)

bymonthday int, 기본값: 1

진드기를 배치할 날짜입니다.

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. RRuleLocator ( o , tz = 없음 ) [출처] #

베이스:DateLocator

매개변수 :
tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

static get_unit_generic ( 주파수 ) [소스] #
tick_values ​​( vmin , vmax ) [소스] #

주어진 vminvmax 에서 찾은 틱의 값을 반환합니다 .

메모

관련 항목에 대해 자동으로 정의된 vmin 및 vmax 값으로 틱 위치를 얻으려면 axisLocator 인스턴스를 호출하기만 하면 됩니다.

>>> print(type(loc))
<type 'Locator'>
>>> print(loc())
[1, 2, 3, 4]
클래스 matplotlib.dates. SecondLocator ( bysecond = None , interval = 1 , tz = None ) [소스] #

베이스:RRuleLocator

매초마다 틱을 만듭니다.

매개변수 :
단위 정수 또는 정수 목록, 기본값: 모든 초

틱은 매초마다 배치됩니다 bysecond . 기본값은 , 즉 매초입니다.bysecond = range(60)

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. WeekdayLocator ( byweekday = 1 , 간격 = 1 , tz = 없음 ) [소스] #

베이스:RRuleLocator

각 평일의 발생에 진드기를 확인합니다.

매개변수 :
byweekday int 또는 int 목록, 기본값: 모든 요일

틱은 byweekday 에서 매주 평일에 배치됩니다 . 기본값은 매일입니다.

byweekday 의 요소 dateutil.rrule는 네임스페이스로 가져온 MO, TU, WE, TH, FR, SA, SU 중 하나여야 합니다 matplotlib.dates.

간격 int, 기본값: 1

각 반복 사이의 간격입니다. 예를 들어 이면 interval=2두 번째 발생마다 표시합니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

클래스 matplotlib.dates. YearLocator ( 기준 = 1 ,= 1 ,= 1 , tz = 없음 ) [소스] #

베이스:RRuleLocator

기본의 배수인 매년 주어진 날짜에 진드기를 만드십시오.

예:

# Tick every year on Jan 1st
locator = YearLocator()

# Tick every 5 years on July 4th
locator = YearLocator(5, month=7, day=4)
매개변수 :
기본 정수, 기본값: 1

기본 연도 마다 마크 틱 .

int, 기본값: 1

1부터 시작하여 진드기를 표시할 달입니다. 기본값은 1월입니다.

int, 기본값: 1

진드기를 배치할 날짜입니다.

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

시간대를 틱합니다. 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

matplotlib.dates. date2num ( d ) [출처] #

datetime 객체를 Matplotlib 날짜로 변환합니다.

매개변수 :
d datetime.datetime또는 numpy.datetime64이들의 시퀀스
반환 :
플로트 또는 플로트 시퀀스

에포크 이후의 일 수입니다. (기본값: ) 또는 get_epoch로 변경할 수 있는 에포크를 참조하십시오 . 에포크가 "1970-01-01T00:00:00"(기본값)인 경우 1970년 1월 1일 정오("1970-01-01T12:00:00")는 0.5를 반환합니다.rcParams["date.epoch"]'1970-01-01T00:00:00'set_epoch

메모

그레고리력이 가정됩니다. 이것은 보편적인 관행이 아닙니다. 자세한 내용은 모듈 docstring을 참조하십시오.

matplotlib.dates. datestr2num ( d , 기본값 = 없음 ) [소스] #

를 사용하여 날짜 문자열을 datenum으로 변환합니다 dateutil.parser.parse.

매개변수 :
d str 또는 str의 시퀀스

변환할 날짜입니다.

기본 datetime.datetime, 선택사항

필드가 d 에서 누락된 경우 사용할 기본 날짜 입니다.

matplotlib.dates. drange ( dstart , dend , delta ) [소스] #

균일한 간격의 Matplotlib 날짜 시퀀스를 반환합니다.

날짜는 dstart 에서 시작하여 최대에 도달하지만 dend는 포함하지 않습니다 . 간격은 delta 입니다.

매개변수 :
dstart, 덴드datetime

날짜 제한.

델타datetime.timedelta

날짜 간격.

반환 :
numpy.array

Matplotlib 날짜를 나타내는 목록이 떠 있습니다.

matplotlib.dates. epoch2num ( e ) [출처] #

[ Deprecated ] UNIX 시간을 Matplotlib epoch 이후 날짜로 변환합니다.

매개변수 :
수레 목록

1970-01-01 이후의 시간(초)입니다.

반환 :
numpy.array

Matplotlib 시대 이후의 시간(일)입니다( 참조 get_epoch()).

메모

버전 3.5부터 폐지: 대신 또는 numpy.datetime64 유형을 사용하세요.[date2num(datetime.utcfromtimestamp(t)) for t in e]

matplotlib.dates. get_epoch ( ) [출처] #

에서 사용하는 시대를 가져옵니다 dates.

반환 :
신기원 _

epoch에 대한 문자열입니다( 에서 구문 분석 가능 numpy.datetime64).

matplotlib.dates. num2date ( x , tz = 없음 ) [소스] #

Matplotlib 날짜를 datetime객체로 변환합니다.

매개변수 :
x 부동 소수점 또는 부동 소수점 시퀀스

에포크 이후의 일수(소수 부분은 시, 분, 초를 나타냄)입니다. (기본값: ) 또는 get_epoch로 변경할 수 있는 에포크를 참조하십시오 .rcParams["date.epoch"]'1970-01-01T00:00:00'set_epoch

tz str 또는 tzinfo, 기본값: rcParams["timezone"](기본값: 'UTC')

x 의 시간대 . 문자열인 경우 tz 가 에 전달됩니다 dateutil.tz.

반환 :
datetime또는 순서datetime

날짜는 tz 시간대에 반환됩니다 .

x 가 시퀀스이면 객체 시퀀스 datetime가 ​​반환됩니다.

메모

그레고리력이 가정됩니다. 이것은 보편적인 관행이 아닙니다. 자세한 내용은 모듈 docstring을 참조하십시오.

matplotlib.dates. num2epoch ( d ) [출처] #

[ Deprecated ] Matplotlib epoch 이후 날짜를 UNIX 시간으로 변환합니다.

매개변수 :
d 플로트 목록

Matplotlib 시대 이후의 시간(일)입니다( 참조 get_epoch()).

반환 :
numpy.array

1970-01-01 이후의 시간(초)입니다.

메모

버전 3.5부터 사용되지 않음: 대신 사용하십시오 num2date(e).timestamp().

matplotlib.dates. num2timedelta ( x ) [소스] #

일 수를 timedelta개체로 변환합니다.

x 가 시퀀스이면 객체 시퀀스 timedelta가 ​​반환됩니다.

매개변수 :
x float, float 시퀀스

일 수. 분수 부분은 시, 분, 초를 나타냅니다.

반환 :
datetime.timedelta또는 목록[ datetime.timedelta]
클래스 matplotlib.dates. relativedelta ( dt1 = 없음 , dt2 = 없음 ,= 0 , 개월 = 0 ,= 0 , 윤일 = 0 ,= 0 , 시간 = 0 ,= 0 ,= 0 , 마이크로초 = 0 ,= 없음 ,= None , day = None , weekday = None , yearday = None , nlyearday = None , hour = None , minute = None , second = None , microsecond = None )#

베이스:object

relativedelta 유형은 기존 datetime에 적용되도록 설계되었으며 해당 datetime의 특정 구성 요소를 대체하거나 시간 간격을 나타낼 수 있습니다.

M.-A가 수행한 우수한 작업의 사양을 기반으로 합니다. mx.DateTime 확장 프로그램 의 Lemburg . 그러나 이 유형은 그의 작업과 동일한 알고리즘을 구현 하지 않습니다 . mx.DateTime의 대응물처럼 동작할 것이라고 기대 하지 마십시오 .

relativedelta 인스턴스를 빌드하는 방법에는 두 가지가 있습니다. 첫 번째는 두 개의 날짜/날짜/시간 클래스를 전달하는 것입니다.

relativedelta(datetime1, datetime2)

두 번째는 다음 키워드 인수를 원하는 만큼 전달합니다.

relativedelta(arg1=x,arg2=y,arg3=z...)

year, month, day, hour, minute, second, microsecond:
    Absolute information (argument is singular); adding or subtracting a
    relativedelta with absolute information does not perform an arithmetic
    operation, but rather REPLACES the corresponding value in the
    original datetime with the value(s) in relativedelta.

years, months, weeks, days, hours, minutes, seconds, microseconds:
    Relative information, may be negative (argument is plural); adding
    or subtracting a relativedelta with relative information performs
    the corresponding arithmetic operation on the original datetime value
    with the information in the relativedelta.

weekday: 
    One of the weekday instances (MO, TU, etc) available in the
    relativedelta module. These instances may receive a parameter N,
    specifying the Nth weekday, which could be positive or negative
    (like MO(+1) or MO(-2)). Not specifying it is the same as specifying
    +1. You can also use an integer, where 0=MO. This argument is always
    relative e.g. if the calculated date is already Monday, using MO(1)
    or MO(-1) won't change the day. To effectively make it absolute, use
    it in combination with the day argument (e.g. day=1, MO(1) for first
    Monday of the month).

leapdays:
    Will add given days to the date found, if year is a leap
    year, and the date found is post 28 of february.

yearday, nlyearday:
    Set the yearday or the non-leap year day (jump leap days).
    These are converted to day/month/leapdays information.

키워드 인수에는 상대 형식과 절대 형식이 있습니다. 복수형은 상대적이고 단수형은 절대적입니다. 아래 순서의 각 인수에 대해 절대 형식이 먼저 적용되고(각 속성을 해당 값으로 설정) 상대 형식이(속성에 값을 추가하여) 적용됩니다.

이 상대 델타가 datetime에 추가될 때 고려되는 속성의 순서는 다음과 같습니다.

  1. 년도

  2. 시간

  3. 마이크로초

마지막으로 위에서 설명한 규칙을 사용하여 평일이 적용됩니다.

예를 들어

>>> from datetime import datetime
>>> from dateutil.relativedelta import relativedelta, MO
>>> dt = datetime(2018, 4, 9, 13, 37, 0)
>>> delta = relativedelta(hours=25, day=1, weekday=MO(1))
>>> dt + delta
datetime.datetime(2018, 4, 2, 14, 37)

먼저 일을 1(월의 1일)로 설정하고 25시간을 더해 2일 14시가 되면 최종적으로 요일이 적용되지만 2일은 이미 월요일이므로 아무런 효과가 없다. .

정규화 ( ) #

상대 속성에 대해 정수 값을 사용하여 전체적으로 표현된 이 객체의 버전을 반환합니다.

>>> relativedelta(days=1.5, hours=2).normalized()
relativedelta(days=+1, hours=+14)
반환 :

객체를 반환 dateutil.relativedelta.relativedelta합니다.

재산 #
클래스 matplotlib.dates. rrulewrapper ( freq , tzinfo = 없음 , ** kwargs ) [출처] #

베이스:object

dateutil.rrule유연한 날짜 틱 사양을 허용 하는 간단한 래퍼 .

매개변수 :
주파수 {년, 월, 주, 일, 시간, 분, 초}

틱 주파수. 이러한 상수는 에 정의되어 dateutil.rrule있지만 에서도 액세스할 수 matplotlib.dates있습니다.

tzinfo datetime.tzinfo, 선택사항

시간대 정보. 기본값은 없음입니다.

**kwargs

추가 키워드 인수가 에 전달됩니다 dateutil.rrule.

세트 ( ** kwargs ) [출처] #

기존 래퍼에 대한 매개변수를 설정합니다.

matplotlib.dates. set_epoch ( 에포크 ) [소스] #

datetime 계산을 위한 epoch(날짜의 시작)를 설정합니다.

기본 epoch는 rcParams["dates.epoch"](기본적으로 1970-01-01T00:00)입니다.

마이크로초 정확도가 필요한 경우 플롯되는 날짜는 대략 70년 이내여야 합니다. Matplotlib는 내부적으로 날짜를 에포크 이후의 날짜로 나타내므로 부동 소수점 동적 범위는 2^52의 인수 내에 있어야 합니다.

set_epoch날짜가 변환되기 전에(즉, 가져오기 섹션 근처에서) 호출해야 합니다. 그렇지 않으면 RuntimeError가 발생합니다.

날짜 정밀도 및 Epochs 도 참조하십시오 .

매개변수 :
신기원 _

구문 분석 가능한 유효한 UTC 날짜 numpy.datetime64(시간대 포함 안 함).