У меня ошибка с кодом ниже. Этот график хорошо работает в Python2, но в Python3 у меня есть TypeError. Понятия не имею, как это исправить.
import matplotlib.pyplot as plt
from pylab import rcParams
import matplotlib.ticker as mtick
import matplotlib.dates as mdates
import numpy as np
import pandas as pd
from datetime import datetime, timedelta
DF = pd.DataFrame({
'day': [datetime(2018,1,1).date()+timedelta(x+1) for x in range(100)],
'balance': np.random.normal(100,100,100)
})
rcParams['figure.figsize'] = 20, 10
fig, ax = plt.subplots()
ax.bar(DF['day'], DF['balance'], color='lightblue')
plt.xlabel('day', fontsize=20)
myFmt = mdates.DateFormatter('%Y-%m')
ax.xaxis.set_major_formatter(myFmt)
plt.show()
Ошибка:
TypeError Traceback (самый последний вызов
последний) в ()
5 rcParams ['figure.figsize'] = 20, 10
6 рис, топор = plt.subplots ()
----> 7 ax.bar (DF ['day'], DF ['balance'], color = 'lightblue')
8 plt.xlabel («день», размер шрифта = 20)
9 myFmt = mdates.DateFormatter ('% Y-% m')
/ home / anaconda3 / lib / python3.6 / site-packages / matplotlib / init .py в
внутренний (топор, * args, ** kwargs) 1896
warnings.warn (msg% (label_namer, func. name ), 1897
RuntimeWarning, уровень стека = 2)
-> 1898 return func (ax, * args, ** kwargs) 1899 pre_doc = inner. doc 1900, если pre_doc равен None:
/ дома / anaconda3 / Библиотека / python3.6 / сайт-пакеты / Matplotlib / оси / _axes.py
в баре (self, left, height, width, bottom, ** kwargs) 2103 если
выровняйте == 'центр': 2104, если ориентация == 'вертикальный':
-> 2105 left = [left [i] - ширина [i] / 2. для i в xrange (len (слева))] 2106 elif ориентация ==
'горизонтальный': 2107 низ = [низ [i] - высота [i]
/ 2.
/ дома / anaconda3 / Библиотека / python3.6 / сайт-пакеты / Matplotlib / оси / _axes.py
в (.0) 2103, если выровнять == 'center': 2104
если ориентация == 'вертикальная':
-> 2105 left = [left [i] - ширина [i] / 2. для i в xrange (len (слева))] 2106 elif ориентация ==
'горизонтальный': 2107 низ = [низ [i] - высота [i]
/ 2.
TypeError: неподдерживаемые типы операндов для -: 'datetime.date' и
'Поплавок'