Настройка осей x или y в качестве желаемых чисел при построении графика

#python #python-3.x

#python #python-3.x

Вопрос:

 import matplotlib.pyplot as plt
import numpy as np

max_temp=np.random.randint(1,46,12)
min_temp=np.random.randint(-20,0,12)
months = np.arange(1,13)
diff_temp=abs(max_temp-min_temp)
avg_diff_temp=np.mean(diff_temp)
over_avg=np.where(diff_temp>avg_diff_temp)

print(max_temp)
print(min_temp)
print('Monthly differences: {}'.format(diff_temp))
print('Average difference: {}'.format(avg_diff_temp))
print('Months with difference above average:')
for i in over_avg:
    print(i 1,end=' ')

plt.clf()
plt.subplot(1,2,1)
plt.plot(months,max_temp)
plt.plot(months,min_temp)
plt.axis([1,12,min(min_temp),max(max_temp)])
plt.xlabel('Month')
plt.ylabel('Temperature')
plt.title('Comparison of Monthly Temperatures')
plt.legend(['max temps','min temps'])
plt.grid()

plt.subplot(1,2,2)
plt.plot(months,diff_temp)
plt.axis([1,12,min(diff_temp),max(diff_temp)])
plt.xlabel('Month')
plt.ylabel('Temperature Difference')
plt.title('Monthly Differences')
plt.grid()
 

Здравствуйте, я пишу код, который в основном отображает максимальные, минимальные сроки месяцев и их разницу. Я хочу спросить, что когда я запускаю программу, значения по оси x равны 2.5 5.0 7.5 10.0, но поскольку числа месяцев являются целыми числами, я хочу сделать значения x такими, как 2,4,6,8,10,12 или что-то еще. Как я могу это сделать? Спасибо.

Ответ №1:

Вы можете использовать

 plt.xticks(np.linspace(2,14,7),np.linspace(2,14,7).astype(int))
 

В первом указаны местоположения, а во втором указаны метки.