гистограмма запуталась в matplotlib - PullRequest
0 голосов
/ 28 апреля 2020

Что я делаю неправильно, я не понимаю.

from numpy import datetime64
from pandas import Series
import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as dts
import datetime
import numpy as np
from datetime import date
import mplcursors
timeSer = ['2017-01-01 11:43:07.050', '2017-01-01 11:43:23.000', '2017-01-01 11:42:45.000', '2017-01-01 11:43:55.000', '2017-01-01 11:48:38.000', '2017-01-01 11:57:47.000', '2017-01-01 12:13:16.000', '2017-01-01 12:17:03.000', '2017-01-01 12:18:15.000', '2017-01-01 12:18:27.000', '2017-01-01 12:18:34.000']
timeSer = pd.to_datetime(timeSer, format='%Y-%m-%d %H:%M:%S.%f')
lstBet = [1.0, 1.2, 1.0, 2.2, 3.0, 4.1, 5.0, 3.0, 1.0, 2.0, 2.0]
print("timeSer:",timeSer)
df = pd.DataFrame({'value':lstBet, 'Date':timeSer})
# ax = plt.subplot(111)
fig, ax = plt.subplots()
# ax.bar(timeSer, lstDeal, width=10)
# ax.bar(timeSer, lstDeal)
df.plot.bar(x='Date', y='value',ax=ax)
ax.xaxis.set_major_formatter(dts.DateFormatter("%Y-%m-%d %H:%M:%S.%f"))
# df.plot.bar(x='Date', y='value',ax=ax)
ax.xaxis.set_major_locator(dts.DayLocator(interval=5))
# df.plot.bar(x='Date', y='value',ax=ax)
ax.xaxis_date()
fig.autofmt_xdate()
# ax.set_xticklabels(timeSer, rotation=90)
mplcursors.cursor(hover=True)
plt.show()

Я обновил код. Это показывает неправильное значение, но по крайней мере х и х видны в правильном формате. Проблема в том, что значения неверны.

1 Ответ

0 голосов
/ 28 апреля 2020

Я просто выясняю ответ, и я не уверен, что это то, что вы ищете

import pandas as pd
import matplotlib.pyplot as plt
import matplotlib.dates as dts
import datetime as dt

lstDatetm= ['2017-01-01 11:43:07.030', '2017-01-01 11:43:23.000', '2017-01-01 
            11:42:45.050', '2017-01-01 11:43:55.023', '2017-01-01 11:48:38.000', 
            '2017-01-01 11:57:47.521','2017-01-01 12:13:16.021', '2017-01-01 
            12:17:03.325','2017-01-01 12:18:15.005', '2017-01-01 12:18:27.000','2017- 
            01-01 12:18:34.000']
lstBet=[1.0, 1.2, 1.0, 2.2, 3.0, 4.1, 5.0, 3.0, 1.0, 2.0, 2.0]
newDatetm = [dt.datetime.strptime(i,'%Y-%m-%d %H:%M:%S.%f') for i in lstDatetm]


df = pd.DataFrame({'value':lstBet, 'Date':newDatetm})

fig, ax = plt.subplots()
ax.xaxis.set_major_formatter(dts.DateFormatter('%Y-%m-%d %H:%M:%S.%f'))
ax.xaxis.set_major_locator(dts.DayLocator(interval=5))
df.plot.bar(x='Date', y='value', ax=ax)
fig.autofmt_xdate()
plt.show()

Bar Graph

Удачного кодирования, спасибо ты!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...