Python 将x轴上的秒转换为分钟:秒,同时保持相同的x限制

Python 将x轴上的秒转换为分钟:秒,同时保持相同的x限制,python,numpy,matplotlib,time,Python,Numpy,Matplotlib,Time,我正在绘制随时间变化的值,以秒为单位。但是,我希望在x轴上以分钟为单位显示时间:秒。我现在已经这样做了,但我得到的小数点像.8,这在时间符号中是不需要的。我试图用'{}:{}.format(mins,secs)来修复它,但是后来我的x值变成了字符串,我再也无法获得合适的x lims了 有没有人知道一种很好的方法可以将秒转换为分钟:秒,同时能够维护相同的XLIM import matplotlib.pyplot as plt y = np.random.rand(90, 1) print(y

我正在绘制随时间变化的值,以秒为单位。但是,我希望在x轴上以分钟为单位显示时间:秒。我现在已经这样做了,但我得到的小数点像.8,这在时间符号中是不需要的。我试图用
'{}:{}.format(mins,secs)
来修复它,但是后来我的x值变成了字符串,我再也无法获得合适的x lims了

有没有人知道一种很好的方法可以将秒转换为分钟:秒,同时能够维护相同的XLIM

import matplotlib.pyplot as plt


y = np.random.rand(90, 1)

print(y)
    
x = np.arange(1380, 1470, 1)    # seconds
x = x/60                        # minutes


plt.plot(x, y)
plt.xlabel('Time (mins)')

如果这对您来说不是问题,我通常使用pandas转换为datetime

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

y = np.random.rand(90, 1)
x = np.arange(1380, 1470, 1)    # seconds
x = x/60                        # minutes
t = pd.to_datetime(x, unit='m') # convert to datetime

fig = plt.figure()
plt.plot(t, y)
plt.xlabel('Time (mins)')
fig.autofmt_xdate() # auto format

如果这对您来说不是问题,我通常使用pandas转换为datetime

import matplotlib.pyplot as plt
import numpy as np
import pandas as pd

y = np.random.rand(90, 1)
x = np.arange(1380, 1470, 1)    # seconds
x = x/60                        # minutes
t = pd.to_datetime(x, unit='m') # convert to datetime

fig = plt.figure()
plt.plot(t, y)
plt.xlabel('Time (mins)')
fig.autofmt_xdate() # auto format

您是否尝试过转换为时间戳?我不确定numpy,但pandas很容易处理它,所以它在numpy中应该是类似的。您是否尝试过转换为时间戳?我不确定numpy,但熊猫很容易处理,所以在numpy中应该是类似的