Я столкнулся с проблемой с matplotlib. У меня есть четыре списка данных, некоторые показатели и соответствующие им годы, некоторые значения и соответствующие им годы. Я пытаюсь записать две линии в один график, чтобы левая и правая оси Y имели разные масштабы, но обе линии имеют общую ось X. Другой список лет также немного короче другого.
Итак, это то, что у меня сейчас есть
gdp_years, gdp_rates = get_ordered_values(gdp_url)
un_years, un_rates = get_ordered_values(un_url)
fig, ax1 = plt.subplots()
color = 'tab:red'
ax1.set_xlabel('Year')
ax1.set_ylabel('GDP', color=color)
ax1.plot(gdp_rates, color=color)
ax1.tick_params(axis='y', labelcolor=color)
ax2 = ax1.twinx()
color = 'tab:blue'
ax2.set_ylabel('UN', color=color)
ax2.plot(un_rates, color=color)
ax2.tick_params(axis='y', labelcolor=color)
fig.tight_layout()
plt.show()
Это график, который я имею сейчас.
Эти шкалы кажутся нормальными, но ось X неверна. Я пытаюсь получить метки этих годов из списка для представления оси X, но я не могу понять это. Годы должны быть с 1960 до 2018 года, но теперь ось X показывает от 0 до 60. Из-за этого я считаю, что синяя линия также расположена неправильно.