Matplotlib 轴刻度标记更改

Matplotlib axis tickmarker alteration

我有以下代码,可以简单地导入温度数据、分配变量并在同一图形上绘制 3 条线。但是,x 轴值以毫秒为单位(不受欢迎),我想将它们转换为小时......知道如何做到这一点吗?这是我的代码:

def plot_temp(file_name, name):

    df = pd.DataFrame.from_csv(file_name, index_col = None)

    w = df['Time']
    x = df['Input 1']
    y = df['Input 2']
    z = df['Input 3']

    figsize(6,4)
    plot(w,x, label = "Top_sensor")
    plot(w,y, label = "Mid_sensor")
    plot(w,z, label = 'Bot_sensor')
    title('Temperature log' + name)
    xlabel('Time(ms)')
    ylabel('Temperature (K)')
    legend()

转换为小时

最简单的方法是在绘制之前将数组 w 转换为小时数。

就拿

w = df['Time']
w /= 3600000 # Convert milliseconds to hours

更改初始时间

要将 xaxis 的初始时间更改为某个值(比如 12 小时),那么您可以这样做:

initial_time = 12.0
w += initial_time - min(w)