Как ограничить количество отображаемых xticks в pyplot, когда значения x являются строкамиPython

Программы на Python
Ответить
Anonymous
 Как ограничить количество отображаемых xticks в pyplot, когда значения x являются строками

Сообщение Anonymous »

У меня есть диаграмма рассеяния в pyplot, где значения x обязательно являются строками. Есть ли простой способ ограничить количество меток xticklabel, которые будет показывать pyplot?
Я не имею в виду непосредственное указание xticks, потому что я все равно хочу, чтобы при увеличении масштаба стало видно больше меток.
Я попробовал использовать plt.locator_params(axis='x', nbins=5), но это не сработало, и я получаю следующее сообщение об ошибке:

Код: Выделить всё

UserWarning: 'set_params()' not defined for locator of type 
Я также попробовал добавить ax.xaxis.set_major_locator(plt.MaxNLocator(7)), который работает, пока вы не сильно увеличите масштаб и не начнет показывать отметки между отдельными категориями.
Вот мой минимальный воспроизводимый пример:

Код: Выделить всё

import numpy as np
import matplotlib.pyplot as plt

fig, ax = plt.subplots()

x_values = [f"Text{value}" for value in np.arange(25)]
y_values = np.random.randint(5, 10, 25)

ax.scatter(x_values, y_values)
ax.grid(True)
plt.show()
В результате получается следующий график:
Изображение

Я хотел бы ограничить количество отображаемых xticks, скажем, 5.
Заранее спасибо!>

Подробнее здесь: https://stackoverflow.com/questions/798 ... re-strings
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Python»