【问题标题】:plotting scatter plot with datetime objects with customized使用自定义的日期时间对象绘制散点图
【发布时间】:2018-06-05 05:18:07
【问题描述】:

我有以下代码

for line in content:

  parse_line = line.split(', ')
  date_and_time = parse_line[0][3:-1]
  kiosk = parse_line[2].replace(" ", "")

  if date_and_time[-1] == ':':
      date_and_time += '0'

  date_obj = datetime.datetime.strptime(date_and_time, '%m/%d/%Y %H:%M:%S')

  if kiosk not in kiosk_dict:
      kiosk_dict[kiosk] = [date_obj]
  else:
      kiosk_dict[kiosk].append(date_obj)


Y = np.ones(len(kiosk_dict['Ortho_2']))
dates = matplotlib.dates.date2num(kiosk_dict['Ortho_2'])

我有一个存储在 kiosk_dict['Ortho_2'] 中的日期时间对象列表。 如何绘制 x 轴显示 %H:%M:%S 的散点图,忽略月、日和年?

样本数据:

list_dates = ['2018-04-23 00:02:01', '2018-04-23 00:05:03', '2018-04-23 00:08:05', '2018-04-23 00:12:01']

【问题讨论】:

  • 但这不是我的主要问题
  • 您只需要使用DateFormatter。如果您可以发布您的输入数据,也许我可以帮助您。
  • 输入是从文件中读取的,但我只是添加了一些示例数据。谢谢。

标签: python matplotlib


【解决方案1】:

你需要:

import matplotlib.dates as mdates
list_dates = ['2018-04-23 00:02:01', '2018-04-23 00:05:03', '2018-04-23 00:08:05', '2018-04-23 00:12:01']
df = pd.DataFrame({
    'date':list_dates,
    'col':[10,20,30,40]
})
df['date'] = pd.to_datetime(df['date'])
fig = plt.figure()
ax = fig.add_subplot(111)
ax.plot_date(df['date'], df['col'])
myFmt = mdates.DateFormatter('%H:%M:%S')
ax.xaxis.set_major_formatter(myFmt)

输出:

【讨论】:

    猜你喜欢
    • 2021-03-21
    • 1970-01-01
    • 1970-01-01
    • 2020-12-11
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    • 1970-01-01
    • 2015-02-12
    相关资源
    最近更新 更多