Я полагаю, вы загружаете свои данные из файла data.csv
, где у вас есть два столбца: time
и population
. Вы можете загрузить свои данные и установить формат столбца time
для datetime. Затем вы можете построить population
; наконец, вы можете настроить тики оси x с помощью методов ax.xaxis.set_major_locator
и ax.xaxis.set_major_formatter
. Проверьте этот код как ссылку:
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as md
df = pd.read_csv('data.csv')
df.set_index('time', inplace = True)
df.index = pd.to_datetime(df.index, format = '%Y-%m-%d')
fig, ax = plt.subplots(figsize = (10, 5))
ax.plot(df['population'])
ax.xaxis.set_major_locator(md.YearLocator())
ax.xaxis.set_major_formatter(md.DateFormatter('%Y'))
plt.setp(ax.xaxis.get_majorticklabels(), rotation = 90)
ax.set_xlim([df.index[0], df.index[-1]])
plt.show()
, который дает мне этот график:
введите описание изображения здесь
С:
ax.xaxis.set_major_locator(md.YearLocator())
Я говорю matplotlib ставить галочку на год ax.xaxis.set_major_formatter(md.DateFormatter('%Y'))
Я говорю matplotlib писать только год для каждый тик, пренебрегая месяцем и днем plt.setp(ax.xaxis.get_majorticklabels(), rotation = 90)
Я говорю metplotlib повернуть метки галочки на 90 ° ax.set_xlim([df.index[0], df.index[-1]])
Я говорю matplotlib исправить крайние точки графика