#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()
Что должно дать что-то вроде этого