matplotlib中的条形图混淆

2024-09-28 05:24:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我不明白我做错了什么

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()

我已经更新了代码。它显示了错误的值,但至少x和x以正确的格式显示。问题是价值观是错误的


Tags: fromimportdfdatetimedateplotvalueas
1条回答
网友
1楼 · 发布于 2024-09-28 05:24:18

我只是找到了一个答案,我不确定这就是你想要的

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

快乐编码,谢谢

相关问题 更多 >

    热门问题