以时间戳作为x轴索引绘制python数据帧显示迭代数字

以时间戳作为x轴索引绘制python数据帧显示迭代数字,python,pandas,csv,datetime,matplotlib,Python,Pandas,Csv,Datetime,Matplotlib,有几天我试图用pandas和Matplotlib在a轴上显示时间戳。但出于某种原因,它总是显示一些迭代数字,我无法控制自己 这是我的密码: import numpy as np import pandas as pd import matplotlib.pyplot as plt import datetime %matplotlib plt.ion() df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/4

有几天我试图用pandas和Matplotlib在a轴上显示时间戳。但出于某种原因,它总是显示一些迭代数字,我无法控制自己

这是我的密码:

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

%matplotlib
plt.ion()

df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)

for column in df.columns:
    if column != 'timestamp':
        df[column] = pd.to_numeric(df[column], downcast='float')

for index, row in df.iterrows():
    for column in df.columns:
        if column != 'timestamp':
            df[column][index] = row[column] / 100

df.plot()
我已经做了很多尝试,设置了x_刻度,将索引类型转换为其他类型或更多类型(我记不清所有内容)。但我总是只看到这些数字。充其量我只想看分秒

我做错了什么?这不会那么难

csv如下所示:

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

%matplotlib
plt.ion()

df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)

for column in df.columns:
    if column != 'timestamp':
        df[column] = pd.to_numeric(df[column], downcast='float')

for index, row in df.iterrows():
    for column in df.columns:
        if column != 'timestamp':
            df[column][index] = row[column] / 100

ax=plt.gca()
ax.set_xticks(df.index)

xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()

情节是这样的:

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

%matplotlib
plt.ion()

df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)

for column in df.columns:
    if column != 'timestamp':
        df[column] = pd.to_numeric(df[column], downcast='float')

for index, row in df.iterrows():
    for column in df.columns:
        if column != 'timestamp':
            df[column][index] = row[column] / 100

ax=plt.gca()
ax.set_xticks(df.index)

xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()

考虑到创建的图形以及ax1是子地块, 在x轴上绘制时间时,我的转到线为:

import matplotlib.dates as mdates
import matplotlib.pyplot as plt

plt.gca().xaxis.set_major_locator(mdates.AutoDateLocator())

ax1.xaxis.set_major_formatter(mdates.DateFormatter('%H:%M:%S'))

ax1.set_xticks(datas)
好吧,有了一些提示,“沃恩是上帝”给了我,我能够显示正确的x标签。代码现在如下所示:

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

%matplotlib
plt.ion()

df = pd.read_csv('~/Development/ProgressionMovement/Data/03-02-pull/44#03-02_07-49_measurePoints.csv', index_col = 'timestamp', parse_dates = True)

for column in df.columns:
    if column != 'timestamp':
        df[column] = pd.to_numeric(df[column], downcast='float')

for index, row in df.iterrows():
    for column in df.columns:
        if column != 'timestamp':
            df[column][index] = row[column] / 100

ax=plt.gca()
ax.set_xticks(df.index)

xfmt = dates.DateFormatter('%M:%S:%f')
ax.xaxis.set_major_formatter(xfmt)
df.plot()
这有点奇怪,但是使用交互式绘图工具,我必须运行最后一个代码块两次以显示秒数。否则它会告诉我一天,一小时,一分钟