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)
我有以下代码,可以简单地导入温度数据、分配变量并在同一图形上绘制 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)