ivankarmanow
@ivankarmanow
Начинающий программист

Как поменять названия и цену делений на осях matplotlib в python 3?

Нужно вывести график курса доллара относительно рубля за 2019 год. На оси X должно быть 12 делений с названиями месяцев, а на оси Y числа от 60 до 70. При этом значений курса у меня 365, то есть на каждый день, а по месяцев 12. Сейчас код такой:
import matplotlib.pyplot as plt

usd = []
with open('dollar') as f:
	usd = f.readlines()
for i, j in enumerate(usd):
	if j[-1] == '\n':
		usd[i] = float(usd[i][:-1])
	else:
		usd[i] = float(usd[i])

months = ['Январь', 'Февраль', 'Март', 'Апрель', 'Май', 'Июнь', 'Июль', 'Август', 'Сентябрь', 'Октябрь', 'Ноябрь', 'Декабрь']
plt.plot(usd, months)
plt.show()

но он не работает, matplotlib говорит что по оси x и y должно быть одинаковое количество значений
На всякий случай прикрепляю файл с курсами доллара по дням
spoiler

69.4706
69.4706
69.4706
69.4706
69.4706
69.4706
69.4706
69.4706
69.4706
67.0795
66.8605
66.9167
66.9167
66.9167
67.1920
67.0820
66.7617
66.4438
66.3309
66.3309
66.3309
66.3634
66.5499
66.3318
66.0016
65.9170
65.9170
65.9170
65.9300
66.3412
66.0987
65.3577
65.6601
65.6601
65.6601
65.5859
65.5691
65.6686
66.0199
66.0628
66.0628
66.0628
65.6517
65.7147
65.6783
66.5429
66.7044
66.7044
66.7044
66.2470
66.2022
65.8568
65.5401
65.5149
65.5149
65.5149
65.2582
65.6182
65.7570
65.8895
65.8145
65.8145
65.8145
65.7956
65.8004
65.8430
65.9646
65.9646
65.9646
65.9646
66.0763
65.7674
65.5890
65.4021
65.4201
65.4201
65.4201
64.6694
64.3167
64.2803
63.7420
63.7705
63.7705
63.7705
64.4993
64.1683
64.5925
64.8012
64.7347
64.7347
64.7347
65.4176
65.4726
65.1639
65.3281
65.4072
65.4072
65.4072
65.3498
64.7766
64.7373
64.3991
64.5171
64.5171
64.5171
64.2469
64.2422
63.9450
64.0688
63.9602
63.9602
63.9602
63.7860
63.7906
63.9798
64.6794
64.7053
64.7053
64.7053
64.6917
64.6314
64.6314
64.6314
64.6314
64.6314
64.6314
65.3350
65.2166
65.2287
65.2287
65.2287
65.2287
65.2287
65.4703
65.3001
64.8489
64.5598
64.6327
64.6327
64.6327
64.4888
64.5372
64.4156
64.4913
64.6106
64.6106
64.6106
64.4636
64.5394
64.9084
65.0583
65.3834
65.3834
65.3834
65.5547
65.1614
65.1243
65.2340
65.0395
65.0395
65.0395
64.7919
64.5158
64.5158
64.6314
64.4326
64.4326
64.4326
64.3187
64.3352
63.9794
63.3877
63.1295
63.1295
63.1295
62.9095
62.5229
62.8083
63.0452
63.0756
63.0756
63.0756
63.0541
63.2265
63.4951
63.4013
63.5841
63.5841
63.5841
63.8699
63.7660
63.7988
62.9944
63.0204
63.0204
63.0204
62.8280
62.8129
62.9451
62.8286
62.8666
62.8666
62.8666
62.9776
63.1290
63.1162
63.1572
63.1271
63.1271
63.1271
63.5210
63.3791
63.4172
63.8340
64.6423
64.6423
64.6423
65.0546
65.2030
65.0932
65.1299
65.2543
65.2543
65.2543
65.4287
65.6017
65.2032
65.8907
65.9961
65.9961
65.9961
66.6082
66.7840
66.2630
65.6196
65.6046
65.6046
65.6046
65.9735
66.2608
66.4127
66.7471
66.4897
66.4897
66.4897
66.6235
66.9072
66.5002
66.0528
65.9981
65.9981
65.9981
65.5698
65.4393
65.4321
65.1909
64.4711
64.4711
64.4711
63.8272
64.1213
64.4290
64.2199
63.8487
63.8487
63.8487
63.9453
63.7060
64.1873
64.2888
64.4156
64.4156
64.4156
64.6407
65.0670
65.4399
65.1312
65.0300
65.0300
65.0300
64.8259
64.8672
65.0976
64.7416
64.2237
64.2237
64.2237
64.3652
64.2548
64.3455
64.0144
63.9542
63.9542
63.9542
63.7606
63.6336
63.7997
63.8600
63.9966
63.9966
63.9966
63.8700
63.8320
63.8734
63.7748
64.0316
64.0316
64.0316
64.0316
63.2480
63.5880
63.7298
63.7295
63.7295
63.7295
63.9121
63.8530
64.2009
64.2101
63.8881
63.8881
63.8881
63.7542
63.7730
64.0213
63.8430
63.7101
63.7101
63.7101
63.7637
64.0239
63.9722
64.1005
64.0817
64.0817
64.0817
64.4097
64.1401
64.1948
63.8135
63.7185
63.7185
63.7185
63.7244
63.5788
63.5653
63.2257
62.5544
62.5544
62.5544
62.7686
62.5326
62.5831
62.5283
62.4071
62.4071
62.4071
62.2499
62.1673
61.7164
61.7676
62.0315
62.0315
62.0315
61.9057

Вот скриншот ошибки
5fb9118e5f401318765598.png
  • Вопрос задан
  • 868 просмотров
Пригласить эксперта
Ответы на вопрос 2
@dmshar
А что вы хотите?
Курс у вас по дням, а график хотите по месяцам.
Тут надо уже решать - либо график выводить как есть, т.е. по дням. Либо значения преобразовывать - например - к среднему курсу за месяц и выводить эти данные.
Определяйтесь.
Ответ написан
adugin
@adugin Куратор тега Python
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы