Обратите внимание, что строка кода
map(lambda tick: tick.set_rotation(45), ax.get_xticklabels())
прекрасно работает в python 2. Это потому, что в python 2 map
создает список, эффективно оценивая функцию отображения для каждого элемента.
В Python 3 map
создает экземпляр map
, который, по сути, является итератором, который не проходит итерацию, если в этом нет необходимости.
Таким образом, решение для Python 3 может бытьдля создания list
из map
,
list(map(lambda tick: tick.set_rotation(45), ax.get_xticklabels()))
Более идиотским способом, вероятно, было бы скорее циклически помечать метки,
for tick in ax.get_xticklabels():
tick.set_rotation(45)
Принимая во внимание, как вы 'Как правило, d поворачивает метки в matplotlib, однако это будет
plt.setp(ax.get_xticklabels(), rotation=45)
или
ax.tick_params(axis="x", rotation=45)