Как изменить plt.построить ось x от 0 до реального значения?

Введите описание изображения здесь

ПРИВЕТ. Теперь я рисую линейный график из данных словаря лет и чисел.
Когда я пытался нарисовать линейный график с помощью matplotlib.pyplot, его ось непрерывно фиксируется 0.

Например, я хочу нарисовать график из диктонарии(
year_counts= {‘2013’:7, ‘2014’:20, ‘2015’:10, ‘2016’:37, ‘2017’:1}).Но его ось начиналась с 0 и увеличивалась на 1.
Даже если я установил предел x,
plt.xlim(xmin=int (years[0])) или
plt.axis ([int (years[0]), int (years[-1]), 0, max(book_counts)])
Это не работает.

Как запустить x-axis с 2013 года?

Это код, который я использовал

year_counts=  {'2013':7, '2014':20, '2015':10, '2016':37, '2017':1}

years = sorted(year_counts)
book_counts = [year_counts[year] for year in years]
plt.plot(years, book_counts)
plt.xlim(xmin=int(years[0])) # didn't work
plt.axis([int(years[0]), int(years[-1]), 0, max(book_counts)]) # didn't work
plt.show()

1 ответ

  1. Ваша ось фактически начинается с 2013 года, 0 + 2.013e3как показано на рисунке.

    Чтобы избавиться от этого смещения, используйте

    ax = plt.gca()
    ax.ticklabel_format(useOffset=False)