Создание xticks в графике Python на основе диапазона

#matplotlib #xticks

#matplotlib #xticks

Вопрос:

Я пытаюсь изменить xticks в графике Python из длинного списка из 280 значений (все числа), чтобы показывать только каждые 20 или около того. Вот код, с которым я играл:

 p = 20
ax.xaxis.set_ticks(range(0,len(x), p), [x[i] for i in range(len(x)) if i % p == 0])
 

Я также пытался использовать функцию ax.set_xticks, но ни один из них не дает мне того, на что я надеялся, а именно отметки только для значений 0, 20, 40, 60 и т.д.

Спасибо,

Комментарии:

1. Попробуйте использовать MultipleLocator .

Ответ №1:

Я думаю, вы можете просто вставить пустую метку на место!

Может быть, попробуйте что-то вроде этого:

 import matplotlib.pyplot as plt
import numpy as np

x=np.arange(10)
y=2*x
plt.figure()
plt.plot(x,y)
locs, labels=plt.xticks()
x_ticks = []

step=3
new_xticks=[]
for x in locs:
  if (x % step == 0):
    new_xticks.append(x)
  else:
   new_xticks.append(None)

plt.xticks(locs,new_xticks, rotation=45, horizontalalignment='right')
plt.show()

 

Что должно дать что-то вроде этого

введите описание изображения здесь