python - set_xticks - plt.xticks rotation




Как я могу повернуть xticklabels в matplotlib, чтобы расстояние между каждой xtlllabel было равно? (2)

Этикетки располагаются в положении тикка. Их ограничивающие прямоугольники неравны по ширине и могут даже перекрываться, что делает их неравномерными.

Так как вы всегда хотите, чтобы метки были привязаны к их отметкам, изменение интервала на самом деле не является вариантом.

Однако вы можете захотеть выровнять их таким образом, чтобы верхний правый угол был ссылкой для их позиционирования ниже отметки.

Используйте для этого параметр horizontalalignment или ha , и установите его "right" :

ax.set_xticklabels(xticklabels, rotation = 45, ha="right")

Это приводит к следующему заговору:

Альтернативой может быть сохранение метки метки по горизонтали, а также центрирование по вертикали. Это приводит к равному интервалу, но для дальнейшего изменения их вертикального положения относительно оси.

ax.set_xticklabels(xticklabels, rotation = 45, va="center", position=(0,-0.28))

Как я могу повернуть xticklabels в matplotlib, чтобы расстояние между каждой xtlllabel было равно?

Например, с помощью этого кода:

import matplotlib.pyplot as plt
import numpy as np

# Data + parameters
fontsize = 20
t = np.arange(0.0, 6.0, 1)
xticklabels = ['Full', 'token emb', 'char emb', 'char LSTM', 
               'token LSTM', 'feed forward','ANN']

# Plotting
fig = plt.figure(1)
ax = fig.add_subplot(111)
plt.plot(t, t)
plt.xticks(range(0, len(t) + 1))
ax.tick_params(axis='both', which='major', labelsize=fontsize)
ax.set_xticklabels(xticklabels, rotation = 45)
fig.savefig('test_rotation.png', dpi=300, format='png', bbox_inches='tight')

Я получаю:

Интервал между каждым символом неравномерен. Например, интервал между «Полный» и «эмблема токенов» намного больше, чем расстояние между «подачей вперед» и «ANN».

Я использую Matplotlib 2.0.0 и Python 3.5 64-bit в Windows 7 SP1 x64 Ultimate.


Более простым решением является добавление в ваш код plt.xticks(rotation=45 ). Результат выглядит следующим образом:







label