Вот пример кода:
import pandas as pd
from datetime import datetime, timezone
import matplotlib.dates as mdates
import matplotlib.pyplot as plt
import datetime as dt
x = []
d = dt.datetime(2013, 7, 4)
for i in range(30):
d = d + dt.timedelta(days=1)
x.append(d)
y = range(len(x))
df = pd.DataFrame({'x': x, 'y': y})
plt.gca().xaxis.set_major_formatter(mdates.DateFormatter('%d-%m-%Y'))
plt.gca().xaxis.set_major_locator(mdates.DayLocator(interval=5))
# Line A
# plt.bar(x, y, align='center') # center the bars on their x-values
# Line B
# df.plot(x='x', y='y', kind='bar', ax=plt.gca())
plt.title('DateLocator with interval=5')
plt.gcf().autofmt_xdate()
plt.show()
С линией A она рисует:
С линией B она рисует:
Почему Dataframe.plot
панды не учитывает конфигурацию оси?
Вот мой conda env export
:
dependencies:
- libcxx=4.0.1=h579ed51_0
- libcxxabi=4.0.1=hebd6815_0
- pandas=0.22.0=py36h0a44026_0
- pyspark=2.3.0=py36_0
- certifi=2016.2.28=py36_0
- click=6.7=py36_0
- cycler=0.10.0=py36_0
- freetype=2.5.5=2
- icu=54.1=0
- libpng=1.6.30=1
- matplotlib=2.0.2=np113py36_0
- mkl=2017.0.3=0
- numpy=1.13.1=py36_0
- openssl=1.0.2l=0
- pip=9.0.1=py36_1
- py4j=0.10.6=py36_0
- pyparsing=2.2.0=py36_0
- pyqt=5.6.0=py36_2
- python=3.6.2=0
- python-dateutil=2.6.1=py36_0
- pytz=2017.2=py36_0
- qt=5.6.2=2
- readline=6.2=2
- requests=2.14.2=py36_0
- scikit-learn=0.19.0=np113py36_0
- scipy=0.19.1=np113py36_0
- setuptools=36.4.0=py36_1
- sip=4.18=py36_0
- six=1.10.0=py36_0
- sqlite=3.13.0=0
- tk=8.5.18=0
- wheel=0.29.0=py36_0
- xz=5.2.3=0
- zlib=1.2.11=0