2017-01-16 5 views
0

enter image description hereКак изменить ось plt.plot x от 0 до реального значения?

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

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

Как начать ось X с 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() 
+0

http://matplotlib.org/examples/pylab_examples/spine_placement_demo.html#pylab-examples-example-code-spine-placement-demo- py – wwii

+0

Возможный дубликат [Происхождение центра в matplotlib] (http://stackoverflow.com/questions/4694478/center-origin-in-matplotlib) – wwii

+0

OK Я проверю его – dizwe

ответ

0

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

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

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

Спасибо, я разрешил это! – dizwe

Смежные вопросы