【问题标题】:How to plot x axis with minutes in Python?如何在 Python 中用分钟绘制 x 轴?
【发布时间】:2020-06-20 06:03:30
【问题描述】:

我试图在 期间每 60 分钟绘制一次 x 轴,并用列表绘制 y 轴。

我试过代码:

import pandas as pd
import matplotlib.pyplot as plt

date_time = ['08:30', '09:30', '10:30', '11:30', '12:30', '13:30', '14:30']

date_time = pd.to_datetime(date_time)
temp = [2, 4, 6, 4, 6,9,8]

DF = pd.DataFrame()
DF['temp'] = temp
DF = DF.set_index(date_time)

fig, ax = plt.subplots()
fig.subplots_adjust(bottom=0.3)
plt.xticks(rotation=90)
plt.plot(DF)

但是输出的x轴是这样的:plot x-axis as date in matplotlib,x轴不是分钟而是日期,

我在 X 轴上的预期值如下:

'08:30' '09:30' '10:30' '11:30''12:30' '13:30' '14:30'

'08:30' '08:40' '08:50' '08:60' .... '15:00'

那么如何将日期转换为我需要的分钟数据,以及如何将直线转换为曲线呢?

有朋友可以帮忙吗?

【问题讨论】:

  • 您的示例中的所有分钟都等于 30。请在 X 轴上包含预期值。此外,显示的线曲线。请解释你为什么不满意。
  • 非常感谢您的回复,我已经更新了我的问题。

标签: python python-3.x matplotlib plot


【解决方案1】:

更新轴格式化程序:

matplotlib.dates as mdates 
ax.xaxis.set_major_formatter(mdates.DateFormatter("%H:%M"))
plt.plot(DF)

【讨论】:

  • 非常感谢您的回复,但它仍然无法正常工作,您能给我完整的代码吗?最好的问候!
  • 只需在最后一行之前添加这些行。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-10
  • 1970-01-01
  • 1970-01-01
  • 2017-10-09
  • 1970-01-01
相关资源
最近更新 更多